Segment moves to memory are always 16-bit. Remove invalid 32 and 64 bit variants.
Fixes PR34478.
Differential D39847
[X86] Avoid unecessary opsize byte in segment move to memory niravd on Nov 9 2017, 8:13 AM. Authored by
Details
Segment moves to memory are always 16-bit. Remove invalid 32 and 64 bit variants. Fixes PR34478.
Diff Detail
Event TimelineComment Actions gas seems to error on movl %fs,(%rsi) and movl (%rsi), %fs I wonder if we shouldn't just delete MOV32ms and MOV64ms from InstrSystem.td and change MOV16ms to not have OpSize16. They're declared with mem32 and mem64 anyway which is clearly wrong. Same for MOV32sm and MOV64sm. Comment Actions Add OpSizeIgnore modifier to allow consumption of optional 0x66 bytes and remove invalid instructions. We now no longer accept movl/movq versions of these instructions but as Craig points out gas doesn't either. |