[Bug translation/96231] New: Can't generate ORR instruction

Alexei.Fedorov at arm dot com gcc-bugzilla@gcc.gnu.org
Fri Jul 17 12:25:25 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96231

            Bug ID: 96231
           Summary: Can't generate ORR instruction
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: translation
          Assignee: unassigned at gcc dot gnu.org
          Reporter: Alexei.Fedorov at arm dot com
  Target Milestone: ---

Hello.
I have a problem with ORR instruction in GCC 11.0.0
orr w28,w28,#0x800080
is compiled with 0x3209839C encoding:

EL2N:0x0000000088013CA8 : ORR      w28,w28,#0x800080

orr x28,x28,#0x800080
generates
Error: immediate out of range at operand 3 -- `orr x28,x28,#0x800080'
If I modify encoding 0x3209839C for W28 in debugger
by setting 'sf' bit 31, according to ARM ARM:
"64-bit variant
Applies when sf == 1.
ORR <Xd|SP>, <Xn>, #<imm>"

Disassembly shows 
EL2N:0x0000000088013CA8 : ORR      x28,x28,#0x80008000800080
but when I execute it with initial X28 = 0, the result is
X28     0x0000000000800080

which is correct. Any ideas what might be wrong here?


More information about the Gcc-bugs mailing list