From c902d3c809c7458140479f1882942c3e6a68db98 Mon Sep 17 00:00:00 2001 From: Sofiane Naci Date: Tue, 2 Apr 2013 09:30:02 +0000 Subject: [PATCH] aarch64.md (*mov_aarch64): Add variants for scalar load/store operations using B/H registers. * config/aarch64/aarch64.md (*mov_aarch64): Add variants for scalar load/store operations using B/H registers. (*zero_extend2_aarch64): Likewise. From-SVN: r197342 --- gcc/ChangeLog | 6 ++++++ gcc/config/aarch64/aarch64.md | 19 +++++++++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1bf033d2aa4..de5ec18ed12 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-04-02 Sofiane Naci + + * config/aarch64/aarch64.md (*mov_aarch64): Add variants for scalar + load/store operations using B/H registers. + (*zero_extend2_aarch64): Likewise. + 2013-04-02 Sofiane Naci * config/aarch64/aarch64.md (*mov_aarch64): Add alternatives for diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md index 01f04aade43..2533145b94b 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md @@ -763,8 +763,8 @@ ) (define_insn "*mov_aarch64" - [(set (match_operand:SHORT 0 "nonimmediate_operand" "=r,r, *w,r, m, r,*w,*w") - (match_operand:SHORT 1 "general_operand" " r,M,D,m,rZ,*w, r,*w"))] + [(set (match_operand:SHORT 0 "nonimmediate_operand" "=r,r, *w,r,*w, m, m, r,*w,*w") + (match_operand:SHORT 1 "general_operand" " r,M,D,m, m,rZ,*w,*w, r,*w"))] "(register_operand (operands[0], mode) || aarch64_reg_or_zero (operands[1], mode))" "@ @@ -772,12 +772,14 @@ mov\\t%w0, %1 movi\\t%0., %1 ldr\\t%w0, %1 + ldr\\t%0, %1 str\\t%w1, %0 + str\\t%1, %0 umov\\t%w0, %1.[0] dup\\t%0., %w1 dup\\t%0, %1.[0]" - [(set_attr "v8type" "move,alu,alu,load1,store1,*,*,*") - (set_attr "simd_type" "*,*,simd_move_imm,*,*,simd_movgp,simd_dupgp,simd_dup") + [(set_attr "v8type" "move,alu,alu,load1,load1,store1,store1,*,*,*") + (set_attr "simd_type" "*,*,simd_move_imm,*,*,*,*,simd_movgp,simd_dupgp,simd_dup") (set_attr "mode" "") (set_attr "simd_mode" "")] ) @@ -1151,13 +1153,14 @@ ) (define_insn "*zero_extend2_aarch64" - [(set (match_operand:GPI 0 "register_operand" "=r,r") - (zero_extend:GPI (match_operand:SHORT 1 "nonimmediate_operand" "r,m")))] + [(set (match_operand:GPI 0 "register_operand" "=r,r,*w") + (zero_extend:GPI (match_operand:SHORT 1 "nonimmediate_operand" "r,m,m")))] "" "@ uxt\t%0, %w1 - ldr\t%w0, %1" - [(set_attr "v8type" "extend,load1") + ldr\t%w0, %1 + ldr\t%0, %1" + [(set_attr "v8type" "extend,load1,load1") (set_attr "mode" "")] ) -- 2.30.2