public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] gas/arm: Misses deprecated IT instruction warning for ARMv8
@ 2014-06-05 15:46 Jiong Wang
  2014-06-13 15:55 ` Nicholas Clifton
  0 siblings, 1 reply; 7+ messages in thread
From: Jiong Wang @ 2014-06-05 15:46 UTC (permalink / raw)
  To: binutils

[-- Attachment #1: Type: text/plain, Size: 430 bytes --]

given code:

.thumb .syntax unified

it eq
addeq sp, sp, #12

assembled with -march=armv8-a -mthumb, gas fails to warn
that this is a deprecated form.

this patch add this into the deprecated pattern list for armv8.

OK for trunk?

thanks.

gas/
   * config/tc-arm.c (depr_it_insns): New check for inc/dec sp.

gas/testsuite/
   * gas/arm/armv8-a-it-bad.s: Likewise.
   * gas/arm/armv8-a-it-bad.l: Likewise.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: inc-sp.patch --]
[-- Type: text/x-patch; name=inc-sp.patch, Size: 1976 bytes --]

diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 1471fce..2d00935 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -17326,6 +17326,7 @@ 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") },
+  { 0x00dd, 0x7fff, N_("ADD/SUB sp, sp #imm") },
   { 0, 0, NULL }
 };
 
diff --git a/gas/testsuite/gas/arm/armv8-a-it-bad.l b/gas/testsuite/gas/arm/armv8-a-it-bad.l
index e3a5971..282216e 100644
--- a/gas/testsuite/gas/arm/armv8-a-it-bad.l
+++ b/gas/testsuite/gas/arm/armv8-a-it-bad.l
@@ -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
diff --git a/gas/testsuite/gas/arm/armv8-a-it-bad.s b/gas/testsuite/gas/arm/armv8-a-it-bad.s
index 42f2b86..d1bc07a 100644
--- a/gas/testsuite/gas/arm/armv8-a-it-bad.s
+++ b/gas/testsuite/gas/arm/armv8-a-it-bad.s
@@ -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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gas/arm: Misses deprecated IT instruction warning for ARMv8
  2014-06-05 15:46 [PATCH] gas/arm: Misses deprecated IT instruction warning for ARMv8 Jiong Wang
@ 2014-06-13 15:55 ` Nicholas Clifton
  2014-06-16 14:41   ` Richard Earnshaw
  0 siblings, 1 reply; 7+ messages in thread
From: Nicholas Clifton @ 2014-06-13 15:55 UTC (permalink / raw)
  To: Jiong Wang, binutils

Hi Jiong,

> given code:
>
> .thumb
> .syntax unified
>
> it eq
> addeq sp, sp, #12
>
> assembled with -march=armv8-a -mthumb, gas fails to warn
> that this is a deprecated form.

Where is this deprecation specified ?   Please can you give a reference 
so that I can check it ?

Cheers
   Nick

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gas/arm: Misses deprecated IT instruction warning for ARMv8
  2014-06-13 15:55 ` Nicholas Clifton
@ 2014-06-16 14:41   ` Richard Earnshaw
  2014-06-16 15:31     ` Jiong Wang
  0 siblings, 1 reply; 7+ messages in thread
From: Richard Earnshaw @ 2014-06-16 14:41 UTC (permalink / raw)
  To: Nicholas Clifton; +Cc: Jiong Wang, binutils

On 13/06/14 16:55, Nicholas Clifton wrote:
> Hi Jiong,
> 
>> given code:
>>
>> .thumb
>> .syntax unified
>>
>> it eq
>> addeq sp, sp, #12
>>
>> assembled with -march=armv8-a -mthumb, gas fails to warn
>> that this is a deprecated form.
> 
> Where is this deprecation specified ?   Please can you give a reference 
> so that I can check it ?
> 
> Cheers
>    Nick
> 
> 

It's in section F6.2 of the v8 ARM ARM:

Registered users can get a copy from here:

http://arminfo.emea.arm.com/help/topic/com.arm.doc.ddi0487a.b/DDI0487A_b_armv8_arm.pdf

But this doesn't look right, since the instructions you need to match
don't follow this pattern:

+  { 0x00dd, 0x7fff, N_("ADD/SUB sp, sp #imm") },

Specifically SUB SP is 0b101100001xxxxxxx
and ADD SP is 0b101100000xxxxxxx.

Iff your mask is right, it needs a comment to explain why.

R.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gas/arm: Misses deprecated IT instruction warning for ARMv8
  2014-06-16 14:41   ` Richard Earnshaw
@ 2014-06-16 15:31     ` Jiong Wang
  2014-06-17  8:34       ` Jiong Wang
  0 siblings, 1 reply; 7+ messages in thread
From: Jiong Wang @ 2014-06-16 15:31 UTC (permalink / raw)
  To: Richard Earnshaw, nickc; +Cc: binutils


On 16/06/14 15:41, Richard Earnshaw wrote:
> On 13/06/14 16:55, Nicholas Clifton wrote:
>> Hi Jiong,
>>
>>> given code:
>>>
>>> .thumb
>>> .syntax unified
>>>
>>> it eq
>>> addeq sp, sp, #12
>>>
>>> assembled with -march=armv8-a -mthumb, gas fails to warn
>>> that this is a deprecated form.
>> Where is this deprecation specified ?   Please can you give a reference
>> so that I can check it ?
>>
>> Cheers
>>     Nick
>>
>>
> It's in section F6.2 of the v8 ARM ARM:
>
> Registered users can get a copy from here:
>
> http://arminfo.emea.arm.com/help/topic/com.arm.doc.ddi0487a.b/DDI0487A_b_armv8_arm.pdf
>
> But this doesn't look right, since the instructions you need to match
> don't follow this pattern:
>
> +  { 0x00dd, 0x7fff, N_("ADD/SUB sp, sp #imm") },
>
> Specifically SUB SP is 0b101100001xxxxxxx
> and ADD SP is 0b101100000xxxxxxx.
>
> Iff your mask is right, it needs a comment to explain why.

yes, the mask confuse people at the first glance.

the reason to put "0x00dd" there is because arm assembler is using the
pseudo "tvalue" which is from the table "T16_32_TAB", instead of the
original encoding when that checking happen.

the real encoding will be converted back at later stage in "md_apply_fix".

OK for trunk?

Thanks

>
> R.
>
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gas/arm: Misses deprecated IT instruction warning for ARMv8
  2014-06-16 15:31     ` Jiong Wang
@ 2014-06-17  8:34       ` Jiong Wang
  2014-06-17  9:01         ` Richard Earnshaw
  0 siblings, 1 reply; 7+ messages in thread
From: Jiong Wang @ 2014-06-17  8:34 UTC (permalink / raw)
  To: Richard Earnshaw, nickc; +Cc: binutils

[-- Attachment #1: Type: text/plain, Size: 1547 bytes --]


On 16/06/14 16:31, Jiong Wang wrote:
> On 16/06/14 15:41, Richard Earnshaw wrote:
>> On 13/06/14 16:55, Nicholas Clifton wrote:
>>> Hi Jiong,
>>>
>>>> given code:
>>>>
>>>> .thumb
>>>> .syntax unified
>>>>
>>>> it eq
>>>> addeq sp, sp, #12
>>>>
>>>> assembled with -march=armv8-a -mthumb, gas fails to warn
>>>> that this is a deprecated form.
>>> Where is this deprecation specified ?   Please can you give a reference
>>> so that I can check it ?
>>>
>>> Cheers
>>>      Nick
>>>
>>>
>> It's in section F6.2 of the v8 ARM ARM:
>>
>> Registered users can get a copy from here:
>>
>> http://arminfo.emea.arm.com/help/topic/com.arm.doc.ddi0487a.b/DDI0487A_b_armv8_arm.pdf
>>
>> But this doesn't look right, since the instructions you need to match
>> don't follow this pattern:
>>
>> +  { 0x00dd, 0x7fff, N_("ADD/SUB sp, sp #imm") },
>>
>> Specifically SUB SP is 0b101100001xxxxxxx
>> and ADD SP is 0b101100000xxxxxxx.
>>
>> Iff your mask is right, it needs a comment to explain why.
> yes, the mask confuse people at the first glance.
>
> the reason to put "0x00dd" there is because arm assembler is using the
> pseudo "tvalue" which is from the table "T16_32_TAB", instead of the
> original encoding when that checking happen.
>
> the real encoding will be converted back at later stage in "md_apply_fix".
>
> OK for trunk?

   Sorry, updated the patch, it's better to put the explain as NOTE 
comment in the code.

   Please review.

   Thanks.

>
> Thanks
>
>> R.
>>
>>
>
>
>
>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: inc-spv2.patch --]
[-- Type: text/x-patch; name=inc-spv2.patch, Size: 2131 bytes --]

diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 590855c..6262929 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -17265,6 +17265,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 }
 };
 
diff --git a/gas/testsuite/gas/arm/armv8-a-it-bad.l b/gas/testsuite/gas/arm/armv8-a-it-bad.l
index e3a5971..282216e 100644
--- a/gas/testsuite/gas/arm/armv8-a-it-bad.l
+++ b/gas/testsuite/gas/arm/armv8-a-it-bad.l
@@ -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
diff --git a/gas/testsuite/gas/arm/armv8-a-it-bad.s b/gas/testsuite/gas/arm/armv8-a-it-bad.s
index 42f2b86..d1bc07a 100644
--- a/gas/testsuite/gas/arm/armv8-a-it-bad.s
+++ b/gas/testsuite/gas/arm/armv8-a-it-bad.s
@@ -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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gas/arm: Misses deprecated IT instruction warning for ARMv8
  2014-06-17  8:34       ` Jiong Wang
@ 2014-06-17  9:01         ` Richard Earnshaw
  2014-06-17  9:16           ` [COMMITTED][PATCH] " Jiong Wang
  0 siblings, 1 reply; 7+ messages in thread
From: Richard Earnshaw @ 2014-06-17  9:01 UTC (permalink / raw)
  To: Jiong Wang; +Cc: nickc, binutils

On 17/06/14 09:34, Jiong Wang wrote:
> 
> On 16/06/14 16:31, Jiong Wang wrote:
>> On 16/06/14 15:41, Richard Earnshaw wrote:
>>> On 13/06/14 16:55, Nicholas Clifton wrote:
>>>> Hi Jiong,
>>>>
>>>>> given code:
>>>>>
>>>>> .thumb
>>>>> .syntax unified
>>>>>
>>>>> it eq
>>>>> addeq sp, sp, #12
>>>>>
>>>>> assembled with -march=armv8-a -mthumb, gas fails to warn
>>>>> that this is a deprecated form.
>>>> Where is this deprecation specified ?   Please can you give a reference
>>>> so that I can check it ?
>>>>
>>>> Cheers
>>>>      Nick
>>>>
>>>>
>>> It's in section F6.2 of the v8 ARM ARM:
>>>
>>> Registered users can get a copy from here:
>>>
>>> http://arminfo.emea.arm.com/help/topic/com.arm.doc.ddi0487a.b/DDI0487A_b_armv8_arm.pdf
>>>
>>> But this doesn't look right, since the instructions you need to match
>>> don't follow this pattern:
>>>
>>> +  { 0x00dd, 0x7fff, N_("ADD/SUB sp, sp #imm") },
>>>
>>> Specifically SUB SP is 0b101100001xxxxxxx
>>> and ADD SP is 0b101100000xxxxxxx.
>>>
>>> Iff your mask is right, it needs a comment to explain why.
>> yes, the mask confuse people at the first glance.
>>
>> the reason to put "0x00dd" there is because arm assembler is using the
>> pseudo "tvalue" which is from the table "T16_32_TAB", instead of the
>> original encoding when that checking happen.
>>
>> the real encoding will be converted back at later stage in "md_apply_fix".
>>
>> OK for trunk?
> 
>    Sorry, updated the patch, it's better to put the explain as NOTE 
> comment in the code.
> 

Thanks, this is OK.

R.

>    Please review.
> 
>    Thanks.
> 
>>
>> Thanks
>>
>>> R.
>>>
>>>
>>
>>
>>
>>
> 
> 
> inc-spv2.patch
> 
> 
> diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
> index 590855c..6262929 100644
> --- a/gas/config/tc-arm.c
> +++ b/gas/config/tc-arm.c
> @@ -17265,6 +17265,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 }
>  };
>  
> diff --git a/gas/testsuite/gas/arm/armv8-a-it-bad.l b/gas/testsuite/gas/arm/armv8-a-it-bad.l
> index e3a5971..282216e 100644
> --- a/gas/testsuite/gas/arm/armv8-a-it-bad.l
> +++ b/gas/testsuite/gas/arm/armv8-a-it-bad.l
> @@ -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
> diff --git a/gas/testsuite/gas/arm/armv8-a-it-bad.s b/gas/testsuite/gas/arm/armv8-a-it-bad.s
> index 42f2b86..d1bc07a 100644
> --- a/gas/testsuite/gas/arm/armv8-a-it-bad.s
> +++ b/gas/testsuite/gas/arm/armv8-a-it-bad.s
> @@ -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
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [COMMITTED][PATCH] gas/arm: Misses deprecated IT instruction warning for ARMv8
  2014-06-17  9:01         ` Richard Earnshaw
@ 2014-06-17  9:16           ` Jiong Wang
  0 siblings, 0 replies; 7+ messages in thread
From: Jiong Wang @ 2014-06-17  9:16 UTC (permalink / raw)
  To: Richard Earnshaw; +Cc: nickc, binutils

[-- Attachment #1: Type: text/plain, Size: 641 bytes --]


On 17/06/14 10:01, Richard Earnshaw wrote:
> On 17/06/14 09:34, Jiong Wang wrote:
>> On 16/06/14 16:31, Jiong Wang wrote:
>>> yes, the mask confuse people at the first glance.
>>>
>>> the reason to put "0x00dd" there is because arm assembler is using the
>>> pseudo "tvalue" which is from the table "T16_32_TAB", instead of the
>>> original encoding when that checking happen.
>>>
>>> the real encoding will be converted back at later stage in "md_apply_fix".
>>>
>>> OK for trunk?
>>     Sorry, updated the patch, it's better to put the explain as NOTE
>> comment in the code.
>>
> Thanks, this is OK.

Thanks. Committed.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: commit-depit.patch --]
[-- Type: text/x-patch; name=commit-depit.patch, Size: 3447 bytes --]

commit c8de034b6ae75f0b23d45d15c927daac61c33a3c
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Tue Jun 17 10:06:00 2014 +0100

    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.

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 9e3a320..34fd665 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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.
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index fc86db4..ce0532b 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -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 }
 };
 
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index b2d7af9..87b9823 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -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.
diff --git a/gas/testsuite/gas/arm/armv8-a-it-bad.l b/gas/testsuite/gas/arm/armv8-a-it-bad.l
index e3a5971..282216e 100644
--- a/gas/testsuite/gas/arm/armv8-a-it-bad.l
+++ b/gas/testsuite/gas/arm/armv8-a-it-bad.l
@@ -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
diff --git a/gas/testsuite/gas/arm/armv8-a-it-bad.s b/gas/testsuite/gas/arm/armv8-a-it-bad.s
index 42f2b86..d1bc07a 100644
--- a/gas/testsuite/gas/arm/armv8-a-it-bad.s
+++ b/gas/testsuite/gas/arm/armv8-a-it-bad.s
@@ -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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-06-17  9:16 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-05 15:46 [PATCH] gas/arm: Misses deprecated IT instruction warning for ARMv8 Jiong Wang
2014-06-13 15:55 ` Nicholas Clifton
2014-06-16 14:41   ` Richard Earnshaw
2014-06-16 15:31     ` Jiong Wang
2014-06-17  8:34       ` Jiong Wang
2014-06-17  9:01         ` Richard Earnshaw
2014-06-17  9:16           ` [COMMITTED][PATCH] " Jiong Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).