- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I discovered that the latest x86-64 ICX 2024.0.0 emits invalid registers when it generates x86 binaries.
This error has been identified in 2 opcodes.
Buggy code.
```
Compile Option: -m32
Compiled code
```
https://godbolt.org/z/TqEKnrTYj
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Your question has been escalated to our internal team.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2024.2 compiler will soon be released, please try it with the newer compiler.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The issues had been fixed in 2024.2.
"SP" in the original reproducer should be changed to "ESP" to be able to compile successfully with compiler 2024.2:
repro.c
void bug(int num)
{
__asm__(
".intel_syntax noprefix\n"
"enqcmd ESP, ZMMWORD PTR [EAX]\n"
"enqcmds ESP, ZMMWORD PTR [EAX]\n"
);
}
icx -m32 repro.c -S
Assembly output:
.text
.file "repro.c"
.globl bug # -- Begin function bug
.p2align 4, 0x90
.type bug,@function
bug: #
.cfi_startproc
# %bb.0:
#APP
enqcmd (%eax), %esp
enqcmds (%eax), %esp
#NO_APP
retl
.Lfunc_end0:
.size bug, .Lfunc_end0-bug
.cfi_endproc
# -- End function
.ident "Intel(R) oneAPI DPC++/C++ Compiler 2024.2.0 (2024.2.0.20240602)"
.section ".note.GNU-stack","",@progbits
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please also note that 32-bit support has been deprecated.
![](/skins/images/1FC86CD46823E418D1E2B7B4DC10231C/responsive_peak/images/icon_anonymous_message.png)
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page