http://sourceware.org/bugzilla/show_bug.cgi?id=14129

             Bug #: 14129
           Summary: andq and orq instructions give 'invalid operand' error
                    when MSB of 32-bit immediate is set
           Product: binutils
           Version: 2.22
            Status: NEW
          Severity: normal
          Priority: P2
         Component: binutils
        AssignedTo: unassig...@sourceware.org
        ReportedBy: anitha.boyap...@amd.com
    Classification: Unclassified


The following instruction gives error for x86-64 target:

>>>>
orq $0xFFFFFF00, %rax

<<<<

$as t.s

t.s: Assembler messages:
t.s:1: Error: suffix or operands invalid for `or'

The error appears whenever MSB of 32-bit immediate operand is set.

According to the instruction manuals (AMD 64 Architecture: Programmers Manual
Vol 3), an 'or' instruction can take signed-values.

"OR reg/mem64, imm32"   OR the contents of a 64-bit register or memory operand
and sign-extended immediate 32-bit value

Ditto for 'andq' case too.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to