digitalmars.D.bugs - [Issue 20621] New: Since DMD 2.087.0: 32 Bit Linux now uses XMM
- d-bugmail puremagic.com (43/43) Feb 27 2020 https://issues.dlang.org/show_bug.cgi?id=20621
https://issues.dlang.org/show_bug.cgi?id=20621 Issue ID: 20621 Summary: Since DMD 2.087.0: 32 Bit Linux now uses XMM registers: SIGILL, Illegal instruction on intel Pentium III Product: D Version: D2 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: kdevel vogtner.de STR (copied from [1]): ```test.d void main () { int [] v = new int [10]; } ``` $ [...]linux/bin32/dmd test $ gdb test [...] (gdb) r [...] Program received signal SIGILL, Illegal instruction. 0x0809ad14 in _D2gc4impl12conservativeQw3Gcx10smallAllocMFNbkKkkxC8TypeInfoZPv () [...] (gdb) disass [...] 0x0809ad14 <_D2gc4impl12conservativeQw3Gcx10smallAllocMFNbkKkkxC8TypeInfoZPv+172>: movsd -0x58(%ebp),%xmm0 ddemangled: nothrow void* gc.impl.conservative.gc.Gcx.smallAlloc(uint, ref uint, uint, const(TypeInfo)) Is this Component = druntime or phobos? Why does memory allocation use an XMM register in the first place? [1] http://forum.dlang.org/thread/suwlbzlgqdylfauwgteu forum.dlang.org --
Feb 27 2020