|
From: | anitha.boyapati at amd dot com |
Subject: | [Bug binutils/14129] andq and orq instructions give 'invalid operand' error when MSB of 32-bit immediate is set |
Date: | Fri, 25 May 2012 04:08:46 +0000 |
http://sourceware.org/bugzilla/show_bug.cgi?id=14129 --- Comment #2 from Anitha Boyapati <anitha.boyapati at amd dot com> 2012-05-25 04:08:46 UTC --- (In reply to comment #1) > orq and andq take a signed 32-bit value from -0x80000000 to > 0x7ffffffff. 0xFFFFFF00 is out of range. (Is 0x7ffffffff a typo for 0x7fffffff?) Ref: http://download.intel.com/products/processor/manual/325462.pdf chapter 3.2, 'and' instruction description: "RAX AND imm32 signextended to 64-bits." Ditto for OR. andq and orq take 32-bit immediate values (and sign extend them to 64-bit)which implies that the valid range is 0x0 to 0xFFFFFFFF. I fail to understand how 0xFFFFFF00 is out-of-range. Although not a standard reference, I would also like to cite that microsoft assembler does assemble the above instruction without error. I think the bug is valid. -- 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.
[Prev in Thread] | Current Thread | [Next in Thread] |