- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I found that ICX 2024.0.0 and ICC 2021.10.0 identified memory operands as immediate value.
This error has been identified in 5 opcodes (loop, loope, loopne, jecxz, jrcxz).
Also, ICX and ICC have same errors when it generates x86 and x64 binaries.
Buggy Code
void bug(int num) { __asm__(".intel_syntax noprefix\n" "loop XMMWORD PTR [1]\n" "loope XMMWORD PTR [1]\n" "loopne XMMWORD PTR [1]\n" "jrcxz XMMWORD PTR [1]\n" "jecxz YMMWORD PTR [1]\n" ); } |
Compiled Code
bug: push rbp mov rbp,rsp sub rsp,0x10 mov DWORD PTR [rbp-0x10],edi loop d <bug+0xd> R_X86_64_PC8 *ABS* loope f <bug+0xf> R_X86_64_PC8 *ABS* loopne 11 <bug+0x11> R_X86_64_PC8 *ABS* jrcxz f <bug+0xf> R_X86_64_PC8 *ABS* jecxz 12 <bug+0x12> R_X86_64_PC8 *ABS* leave ret |
You can reproduce the errors through godbolt site.
ICX: https://godbolt.org/z/1TPMYMYEv
ICC: https://godbolt.org/z/cWqbbTdEh
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've escalated your issue to our internal engineering team.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page