Message ID | 53F46999.5070404@arm.com |
---|---|
State | New |
Headers | show |
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
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 >
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 --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")] )