diff mbox

[AArch64] One-liner: fix type of an add in SIMD registers

Message ID 53F46999.5070404@arm.com
State New
Headers show

Commit Message

Alan Lawrence Aug. 20, 2014, 9:25 a.m. UTC
The SIMD-register variant is miscategorized as "alu_reg" despite not using any 
ALU registers, and should be "neon_add" for e.g. scheduling.

Tested with check-gcc and check-g++ on aarch64-none-elf and aarch64_be-none-elf.

gcc/ChangeLog:

	* config/aarch64/aarch64.md (adddi3_aarch64): set type to neon_add.

Comments

Marcus Shawcroft Sept. 2, 2014, 4:42 p.m. UTC | #1
On 20 August 2014 10:25, Alan Lawrence <alan.lawrence@arm.com> wrote:
> The SIMD-register variant is miscategorized as "alu_reg" despite not using
> any ALU registers, and should be "neon_add" for e.g. scheduling.
>
> Tested with check-gcc and check-g++ on aarch64-none-elf and
> aarch64_be-none-elf.
>
> gcc/ChangeLog:
>
>         * config/aarch64/aarch64.md (adddi3_aarch64): set type to neon_add.

OK and back port please.

/Marcus
Alan Lawrence Sept. 5, 2014, 10:34 a.m. UTC | #2
Pushed r214946. (In the meantime the erroneous alu_reg had been changed to 
alu_sreg by r212750 https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00679.html .)

Marcus Shawcroft wrote:
> On 20 August 2014 10:25, Alan Lawrence <alan.lawrence@arm.com> wrote:
>> The SIMD-register variant is miscategorized as "alu_reg" despite not using
>> any ALU registers, and should be "neon_add" for e.g. scheduling.
>>
>> Tested with check-gcc and check-g++ on aarch64-none-elf and
>> aarch64_be-none-elf.
>>
>> gcc/ChangeLog:
>>
>>         * config/aarch64/aarch64.md (adddi3_aarch64): set type to neon_add.
> 
> OK and back port please.
> 
> /Marcus
>
Alan Lawrence Sept. 11, 2014, 2:23 p.m. UTC | #3
Original patch applied cleanly to 4.9 HEAD as r215175.

Marcus Shawcroft wrote:
> On 20 August 2014 10:25, Alan Lawrence <alan.lawrence@arm.com> wrote:
>> The SIMD-register variant is miscategorized as "alu_reg" despite not using
>> any ALU registers, and should be "neon_add" for e.g. scheduling.
>>
>> Tested with check-gcc and check-g++ on aarch64-none-elf and
>> aarch64_be-none-elf.
>>
>> gcc/ChangeLog:
>>
>>         * config/aarch64/aarch64.md (adddi3_aarch64): set type to neon_add.
> 
> OK and back port please.
> 
> /Marcus
>
diff mbox

Patch

diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
index 3eb783c3681b16e1a5f780ec656bd261b9cb4954..f8eb305140e7b0aed006b33f1724a90939e48316 100644
--- a/gcc/config/aarch64/aarch64.md
+++ b/gcc/config/aarch64/aarch64.md
@@ -1198,7 +1198,7 @@ 
   add\\t%x0, %x1, %x2
   sub\\t%x0, %x1, #%n2
   add\\t%d0, %d1, %d2"
-  [(set_attr "type" "alu_imm,alu_reg,alu_imm,alu_reg")
+  [(set_attr "type" "alu_imm,alu_reg,alu_imm,neon_add")
    (set_attr "simd" "*,*,*,yes")]
 )