gas/ARM: Misses deprecated IT instruction warning for ARMv8
Add sp increment and decrement to ARMv8 IT block deprecate pattern. gas/ * config/tc-arm.c (depr_it_insns): New check for inc/dec sp. gas/testsuite/ * gas/arm/armv8-a-it-bad.s: New check for inc/dec sp. * gas/arm/armv8-a-it-bad.l: Likewise.
This commit is contained in:
parent
dfac1fa730
commit
c8de034b6a
|
@ -1,3 +1,7 @@
|
|||
2014-06-17 Jiong Wang <jiong.wang@arm.com>
|
||||
|
||||
* config/tc-arm.c (depr_it_insns): New check for inc/dec sp.
|
||||
|
||||
2014-06-17 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* config/tc-cris.c (cris_bad): New function.
|
||||
|
|
|
@ -17266,6 +17266,9 @@ static const struct depr_insn_mask depr_it_insns[] = {
|
|||
{ 0x4800, 0xf800, N_("Literal loads") },
|
||||
{ 0x4478, 0xf478, N_("Hi-register ADD, MOV, CMP, BX, BLX using pc") },
|
||||
{ 0x4487, 0xfc87, N_("Hi-register ADD, MOV, CMP using pc") },
|
||||
/* NOTE: 0x00dd is not the real encoding, instead, it is the 'tvalue'
|
||||
field in asm_opcode. 'tvalue' is used at the stage this check happen. */
|
||||
{ 0x00dd, 0x7fff, N_("ADD/SUB sp, sp #imm") },
|
||||
{ 0, 0, NULL }
|
||||
};
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2014-06-17 Jiong Wang <jiong.wang@arm.com>
|
||||
|
||||
* gas/arm/armv8-a-it-bad.s: New check for deprecated sp_inc/dec within
|
||||
IT block for ARMv8.
|
||||
* gas/arm/armv8-a-it-bad.l: Likewise.
|
||||
|
||||
2014-06-17 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* gas/cris/range-err-3.s: New test.
|
||||
|
|
|
@ -12,3 +12,7 @@
|
|||
.*:55: Error: r15 not allowed here -- `addeq r0,pc,pc'
|
||||
.*:58: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Short branches, Undefined, SVC, LDM/STM
|
||||
.*:58: Error: r15 not allowed here -- `addeq pc,r0,r0'
|
||||
.*:61: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: ADD/SUB sp, sp #imm
|
||||
.*:65: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: ADD/SUB sp, sp #imm
|
||||
.*:68: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: ADD/SUB sp, sp #imm
|
||||
.*:72: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: ADD/SUB sp, sp #imm
|
||||
|
|
|
@ -56,3 +56,17 @@ addeq r0, pc, pc
|
|||
|
||||
it eq
|
||||
addeq pc, r0, r0
|
||||
|
||||
it eq
|
||||
addeq sp, sp, #12
|
||||
|
||||
@ Misaligned immediate.
|
||||
it eq
|
||||
addeq sp, sp, #3
|
||||
|
||||
it eq
|
||||
subeq sp, sp, #12
|
||||
|
||||
@ Misaligned immediate.
|
||||
it eq
|
||||
subeq sp, sp, #3
|
||||
|
|
Loading…
Reference in New Issue