* aarch64-opc.c (aarch64_logical_immediate_p): Return FALSE if the
immediate is not suitable for the 32-bit ABI. * gas/aarch64/illegal.s: Add illegal constant for logical operation. * gas/aarch64/illegal.l: Add expected error message.
This commit is contained in:
parent
fe6d7d6aa2
commit
7e10503172
5 changed files with 18 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2013-08-28 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
* gas/aarch64/illegal.s: Add illegal constant for logical
|
||||||
|
operation.
|
||||||
|
* gas/aarch64/illegal.l: Add expected error message.
|
||||||
|
|
||||||
2013-08-23 Maciej W. Rozycki <macro@codesourcery.com>
|
2013-08-23 Maciej W. Rozycki <macro@codesourcery.com>
|
||||||
|
|
||||||
* gas/testsuite/gas/mips/micromips-insn32.d: Adjust for delay
|
* gas/testsuite/gas/mips/micromips-insn32.d: Adjust for delay
|
||||||
|
|
|
@ -551,4 +551,5 @@
|
||||||
[^:]*:543: Error: .*`fmov s0,#0x11'
|
[^:]*:543: Error: .*`fmov s0,#0x11'
|
||||||
[^:]*:544: Error: .*`fmov s0,#0xC0280000C1400000'
|
[^:]*:544: Error: .*`fmov s0,#0xC0280000C1400000'
|
||||||
[^:]*:545: Error: .*`fmov d0,#0xC02f800000000000'
|
[^:]*:545: Error: .*`fmov d0,#0xC02f800000000000'
|
||||||
[^:]*:550: Error: .*
|
[^:]*:550: Error: .*`ands w0,w24,#0xffeefffffffffffd'
|
||||||
|
[^:]*:553: Error: .*
|
||||||
|
|
|
@ -547,4 +547,7 @@
|
||||||
// No 16-byte relocation
|
// No 16-byte relocation
|
||||||
ldr q0, =one_label
|
ldr q0, =one_label
|
||||||
|
|
||||||
|
ands w0, w24, #0xffeefffffffffffd
|
||||||
|
|
||||||
one_label:
|
one_label:
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2013-08-28 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
* aarch64-opc.c (aarch64_logical_immediate_p): Return FALSE if the
|
||||||
|
immediate is not suitable for the 32-bit ABI.
|
||||||
|
|
||||||
2013-08-23 Maciej W. Rozycki <macro@codesourcery.com>
|
2013-08-23 Maciej W. Rozycki <macro@codesourcery.com>
|
||||||
|
|
||||||
* micromips-opc.c (micromips_opcodes): Use RD_4 for "alnv.ps",
|
* micromips-opc.c (micromips_opcodes): Use RD_4 for "alnv.ps",
|
||||||
|
|
|
@ -1063,7 +1063,8 @@ aarch64_logical_immediate_p (uint64_t value, int is32, aarch64_insn *encoding)
|
||||||
/* Allow all zeros or all ones in top 32-bits, so that
|
/* Allow all zeros or all ones in top 32-bits, so that
|
||||||
constant expressions like ~1 are permitted. */
|
constant expressions like ~1 are permitted. */
|
||||||
if (value >> 32 != 0 && value >> 32 != 0xffffffff)
|
if (value >> 32 != 0 && value >> 32 != 0xffffffff)
|
||||||
return 0xffffffff;
|
return FALSE;
|
||||||
|
|
||||||
/* Replicate the 32 lower bits to the 32 upper bits. */
|
/* Replicate the 32 lower bits to the 32 upper bits. */
|
||||||
value &= 0xffffffff;
|
value &= 0xffffffff;
|
||||||
value |= value << 32;
|
value |= value << 32;
|
||||||
|
|
Loading…
Reference in a new issue