From 99e6af154c8f765253f1b5eb82eefdf38fc80748 Mon Sep 17 00:00:00 2001 From: James Greenhalgh Date: Wed, 20 Nov 2013 12:12:02 +0000 Subject: [PATCH] [AArch64] Remove "mode", "mode2" attributes gcc/ * config/aarch64/aarch64.md: Remove "mode" and "mode2" attributes from all insns. From-SVN: r205105 --- gcc/ChangeLog | 5 + gcc/config/aarch64/aarch64.md | 593 ++++++++++++++---------------------------- 2 files changed, 206 insertions(+), 392 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f6ad128..039274a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-11-20 James Greenhalgh + + * config/aarch64/aarch64.md: Remove "mode" and "mode2" attributes + from all insns. + 2013-11-20 Yuri Rumyantsev PR target/57756 diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md index 22051ec..8b3dbd7 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md @@ -117,14 +117,6 @@ ;; Instruction types and attributes ;; ------------------------------------------------------------------- -;; Main data types used by the insntructions - -(define_attr "mode" "unknown,none,QI,HI,SI,DI,TI,SF,DF,TF" - (const_string "unknown")) - -(define_attr "mode2" "unknown,none,QI,HI,SI,DI,TI,SF,DF,TF" - (const_string "unknown")) - ; The "type" attribute is is included here from AArch32 backend to be able ; to share pipeline descriptions. (include "../arm/types.md") @@ -378,7 +370,6 @@ return \"\\t%0, %1, %l2\"; " [(set_attr "type" "branch") - (set_attr "mode" "") (set (attr "length") (if_then_else (and (ge (minus (match_dup 2) (pc)) (const_int -32768)) (lt (minus (match_dup 2) (pc)) (const_int 32764))) @@ -399,7 +390,6 @@ return \"\\t%0, , %l1\"; " [(set_attr "type" "branch") - (set_attr "mode" "") (set (attr "length") (if_then_else (and (ge (minus (match_dup 1) (pc)) (const_int -32768)) (lt (minus (match_dup 1) (pc)) (const_int 32764))) @@ -630,8 +620,7 @@ } [(set_attr "type" "mov_reg,mov_imm,mov_imm,load1,load1,store1,store1,\ neon_from_gp,neon_from_gp, neon_dup") - (set_attr "simd" "*,*,yes,*,*,*,*,yes,yes,yes") - (set_attr "mode" "")] + (set_attr "simd" "*,*,yes,*,*,*,*,yes,yes,yes")] ) (define_expand "mov" @@ -671,7 +660,6 @@ fmov\\t%s0, %s1" [(set_attr "type" "mov_reg,mov_reg,mov_reg,mov_imm,load1,load1,store1,store1,\ adr,adr,fmov,fmov,fmov") - (set_attr "mode" "SI") (set_attr "fp" "*,*,*,*,*,yes,*,yes,*,*,yes,yes,yes")] ) @@ -697,7 +685,6 @@ movi\\t%d0, %1" [(set_attr "type" "mov_reg,mov_reg,mov_reg,mov_imm,load1,load1,store1,store1,\ adr,adr,fmov,fmov,fmov,fmov") - (set_attr "mode" "DI") (set_attr "fp" "*,*,*,*,*,yes,*,yes,*,*,yes,yes,yes,*") (set_attr "simd" "*,*,*,*,*,*,*,*,*,*,*,*,*,yes")] ) @@ -710,8 +697,7 @@ "UINTVAL (operands[1]) < GET_MODE_BITSIZE (mode) && UINTVAL (operands[1]) % 16 == 0" "movk\\t%0, %X2, lsl %1" - [(set_attr "type" "mov_imm") - (set_attr "mode" "")] + [(set_attr "type" "mov_imm")] ) (define_expand "movti" @@ -743,7 +729,6 @@ str\\t%q1, %0" [(set_attr "type" "multiple,f_mcr,f_mrc,neon_logic_q, \ load2,store2,store2,f_loadd,f_stored") - (set_attr "mode" "DI,DI,DI,TI,DI,DI,DI,TI,TI") (set_attr "length" "8,8,8,4,4,4,4,4,4") (set_attr "simd" "*,*,*,yes,*,*,*,*,*") (set_attr "fp" "*,*,*,*,*,*,*,yes,yes")] @@ -794,8 +779,7 @@ str\\t%w1, %0 mov\\t%w0, %w1" [(set_attr "type" "f_mcr,f_mrc,fmov,fconsts,\ - f_loads,f_stores,f_loads,f_stores,fmov") - (set_attr "mode" "SF")] + f_loads,f_stores,f_loads,f_stores,fmov")] ) (define_insn "*movdf_aarch64" @@ -814,8 +798,7 @@ str\\t%x1, %0 mov\\t%x0, %x1" [(set_attr "type" "f_mcr,f_mrc,fmov,fconstd,\ - f_loadd,f_stored,f_loadd,f_stored,mov_reg") - (set_attr "mode" "DF")] + f_loadd,f_stored,f_loadd,f_stored,mov_reg")] ) (define_expand "movtf" @@ -854,7 +837,6 @@ stp\\t%1, %H1, %0" [(set_attr "type" "logic_reg,multiple,f_mcr,f_mrc,fconstd,fconstd,\ f_loadd,f_stored,neon_load1_2reg,neon_store1_2reg") - (set_attr "mode" "DF,DF,DF,DF,DF,DF,TF,TF,DF,DF") (set_attr "length" "4,8,8,8,4,4,4,4,4,4") (set_attr "fp" "*,*,yes,yes,*,yes,yes,yes,*,*") (set_attr "simd" "yes,*,*,*,yes,*,*,*,*,*")] @@ -883,8 +865,7 @@ XEXP (operands[1], 0), GET_MODE_SIZE (mode)))" "ldp\\t%0, %2, %1" - [(set_attr "type" "load2") - (set_attr "mode" "")] + [(set_attr "type" "load2")] ) ;; Operands 0 and 2 are tied together by the final condition; so we allow @@ -899,8 +880,7 @@ XEXP (operands[0], 0), GET_MODE_SIZE (mode)))" "stp\\t%1, %3, %0" - [(set_attr "type" "store2") - (set_attr "mode" "")] + [(set_attr "type" "store2")] ) ;; Operands 1 and 3 are tied together by the final condition; so we allow @@ -915,8 +895,7 @@ XEXP (operands[1], 0), GET_MODE_SIZE (mode)))" "ldp\\t%0, %2, %1" - [(set_attr "type" "neon_load1_2reg") - (set_attr "mode" "")] + [(set_attr "type" "neon_load1_2reg")] ) ;; Operands 0 and 2 are tied together by the final condition; so we allow @@ -931,8 +910,7 @@ XEXP (operands[0], 0), GET_MODE_SIZE (mode)))" "stp\\t%1, %3, %0" - [(set_attr "type" "neon_store1_2reg") - (set_attr "mode" "")] + [(set_attr "type" "neon_store1_2reg")] ) ;; Load pair with writeback. This is primarily used in function epilogues @@ -950,8 +928,7 @@ (match_operand:P 5 "const_int_operand" "n"))))])] "INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (mode)" "ldp\\t%2, %3, [%1], %4" - [(set_attr "type" "load2") - (set_attr "mode" "")] + [(set_attr "type" "load2")] ) ;; Store pair with writeback. This is primarily used in function prologues @@ -969,8 +946,7 @@ (match_operand:GPI 3 "register_operand" "r"))])] "INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (mode)" "stp\\t%2, %3, [%0, %4]!" - [(set_attr "type" "store2") - (set_attr "mode" "")] + [(set_attr "type" "store2")] ) ;; ------------------------------------------------------------------- @@ -990,8 +966,7 @@ "@ sxtw\t%0, %w1 ldrsw\t%0, %1" - [(set_attr "type" "extend,load1") - (set_attr "mode" "DI")] + [(set_attr "type" "extend,load1")] ) (define_insn "*zero_extendsidi2_aarch64" @@ -1001,8 +976,7 @@ "@ uxtw\t%0, %w1 ldr\t%w0, %1" - [(set_attr "type" "extend,load1") - (set_attr "mode" "DI")] + [(set_attr "type" "extend,load1")] ) (define_expand "2" @@ -1018,8 +992,7 @@ "@ sxt\t%0, %w1 ldrs\t%0, %1" - [(set_attr "type" "extend,load1") - (set_attr "mode" "")] + [(set_attr "type" "extend,load1")] ) (define_insn "*zero_extend2_aarch64" @@ -1030,8 +1003,7 @@ uxt\t%0, %w1 ldr\t%w0, %1 ldr\t%0, %1" - [(set_attr "type" "extend,load1,load1") - (set_attr "mode" "")] + [(set_attr "type" "extend,load1,load1")] ) (define_expand "qihi2" @@ -1047,8 +1019,7 @@ "@ xtb\t%w0, %w1 b\t%w0, %1" - [(set_attr "type" "extend,load1") - (set_attr "mode" "HI")] + [(set_attr "type" "extend,load1")] ) ;; ------------------------------------------------------------------- @@ -1091,8 +1062,7 @@ add\\t%w0, %w1, %2 add\\t%w0, %w1, %w2 sub\\t%w0, %w1, #%n2" - [(set_attr "type" "alu_imm,alu_reg,alu_imm") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_imm,alu_reg,alu_imm")] ) ;; zero_extend version of above @@ -1107,8 +1077,7 @@ add\\t%w0, %w1, %2 add\\t%w0, %w1, %w2 sub\\t%w0, %w1, #%n2" - [(set_attr "type" "alu_imm,alu_reg,alu_imm") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_imm,alu_reg,alu_imm")] ) (define_insn "*adddi3_aarch64" @@ -1124,7 +1093,6 @@ sub\\t%x0, %x1, #%n2 add\\t%d0, %d1, %d2" [(set_attr "type" "alu_imm,alu_reg,alu_imm,alu_reg") - (set_attr "mode" "DI") (set_attr "simd" "*,*,*,yes")] ) @@ -1141,8 +1109,7 @@ adds\\t%0, %1, %2 adds\\t%0, %1, %2 subs\\t%0, %1, #%n2" - [(set_attr "type" "alus_reg,alus_imm,alus_imm") - (set_attr "mode" "")] + [(set_attr "type" "alus_reg,alus_imm,alus_imm")] ) ;; zero_extend version of above @@ -1159,8 +1126,7 @@ adds\\t%w0, %w1, %w2 adds\\t%w0, %w1, %w2 subs\\t%w0, %w1, #%n2" - [(set_attr "type" "alus_reg,alus_imm,alus_imm") - (set_attr "mode" "SI")] + [(set_attr "type" "alus_reg,alus_imm,alus_imm")] ) (define_insn "*adds_mul_imm_" @@ -1176,8 +1142,7 @@ (match_dup 3)))] "" "adds\\t%0, %3, %1, lsl %p2" - [(set_attr "type" "alus_shift_imm") - (set_attr "mode" "")] + [(set_attr "type" "alus_shift_imm")] ) (define_insn "*subs_mul_imm_" @@ -1193,8 +1158,7 @@ (mult:GPI (match_dup 2) (match_dup 3))))] "" "subs\\t%0, %1, %2, lsl %p3" - [(set_attr "type" "alus_shift_imm") - (set_attr "mode" "")] + [(set_attr "type" "alus_shift_imm")] ) (define_insn "*adds__" @@ -1208,8 +1172,7 @@ (plus:GPI (ANY_EXTEND:GPI (match_dup 1)) (match_dup 2)))] "" "adds\\t%0, %2, %1, xt" - [(set_attr "type" "alus_ext") - (set_attr "mode" "")] + [(set_attr "type" "alus_ext")] ) (define_insn "*subs__" @@ -1223,8 +1186,7 @@ (minus:GPI (match_dup 1) (ANY_EXTEND:GPI (match_dup 2))))] "" "subs\\t%0, %1, %2, xt" - [(set_attr "type" "alus_ext") - (set_attr "mode" "")] + [(set_attr "type" "alus_ext")] ) (define_insn "*adds__multp2" @@ -1244,8 +1206,7 @@ (match_dup 4)))] "aarch64_is_extend_from_extract (mode, operands[2], operands[3])" "adds\\t%0, %4, %1, xt%e3 %p2" - [(set_attr "type" "alus_ext") - (set_attr "mode" "")] + [(set_attr "type" "alus_ext")] ) (define_insn "*subs__multp2" @@ -1265,8 +1226,7 @@ (const_int 0))))] "aarch64_is_extend_from_extract (mode, operands[2], operands[3])" "subs\\t%0, %4, %1, xt%e3 %p2" - [(set_attr "type" "alus_ext") - (set_attr "mode" "")] + [(set_attr "type" "alus_ext")] ) (define_insn "*add3nr_compare0" @@ -1280,8 +1240,7 @@ cmn\\t%0, %1 cmn\\t%0, %1 cmp\\t%0, #%n1" - [(set_attr "type" "alus_reg,alus_imm,alus_imm") - (set_attr "mode" "")] + [(set_attr "type" "alus_reg,alus_imm,alus_imm")] ) (define_insn "*compare_neg" @@ -1291,8 +1250,7 @@ (match_operand:GPI 1 "register_operand" "r")))] "" "cmn\\t%1, %0" - [(set_attr "type" "alus_reg") - (set_attr "mode" "")] + [(set_attr "type" "alus_reg")] ) (define_insn "*add__" @@ -1302,8 +1260,7 @@ (match_operand:GPI 3 "register_operand" "r")))] "" "add\\t%0, %3, %1, %2" - [(set_attr "type" "alu_shift_imm") - (set_attr "mode" "")] + [(set_attr "type" "alu_shift_imm")] ) ;; zero_extend version of above @@ -1315,8 +1272,7 @@ (match_operand:SI 3 "register_operand" "r"))))] "" "add\\t%w0, %w3, %w1, %2" - [(set_attr "type" "alu_shift_imm") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_shift_imm")] ) (define_insn "*add_mul_imm_" @@ -1326,8 +1282,7 @@ (match_operand:GPI 3 "register_operand" "r")))] "" "add\\t%0, %3, %1, lsl %p2" - [(set_attr "type" "alu_shift_imm") - (set_attr "mode" "")] + [(set_attr "type" "alu_shift_imm")] ) (define_insn "*add__" @@ -1336,8 +1291,7 @@ (match_operand:GPI 2 "register_operand" "r")))] "" "add\\t%0, %2, %1, xt" - [(set_attr "type" "alu_ext") - (set_attr "mode" "")] + [(set_attr "type" "alu_ext")] ) ;; zero_extend version of above @@ -1348,8 +1302,7 @@ (match_operand:GPI 2 "register_operand" "r"))))] "" "add\\t%w0, %w2, %w1, xt" - [(set_attr "type" "alu_ext") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_ext")] ) (define_insn "*add__shft_" @@ -1360,8 +1313,7 @@ (match_operand:GPI 3 "register_operand" "r")))] "" "add\\t%0, %3, %1, xt %2" - [(set_attr "type" "alu_ext") - (set_attr "mode" "")] + [(set_attr "type" "alu_ext")] ) ;; zero_extend version of above @@ -1374,8 +1326,7 @@ (match_operand:SI 3 "register_operand" "r"))))] "" "add\\t%w0, %w3, %w1, xt %2" - [(set_attr "type" "alu_ext") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_ext")] ) (define_insn "*add__mult_" @@ -1386,8 +1337,7 @@ (match_operand:GPI 3 "register_operand" "r")))] "" "add\\t%0, %3, %1, xt %p2" - [(set_attr "type" "alu_ext") - (set_attr "mode" "")] + [(set_attr "type" "alu_ext")] ) ;; zero_extend version of above @@ -1399,8 +1349,7 @@ (match_operand:SI 3 "register_operand" "r"))))] "" "add\\t%w0, %w3, %w1, xt %p2" - [(set_attr "type" "alu_ext") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_ext")] ) (define_insn "*add__multp2" @@ -1413,8 +1362,7 @@ (match_operand:GPI 4 "register_operand" "r")))] "aarch64_is_extend_from_extract (mode, operands[2], operands[3])" "add\\t%0, %4, %1, xt%e3 %p2" - [(set_attr "type" "alu_ext") - (set_attr "mode" "")] + [(set_attr "type" "alu_ext")] ) ;; zero_extend version of above @@ -1429,8 +1377,7 @@ (match_operand:SI 4 "register_operand" "r"))))] "aarch64_is_extend_from_extract (SImode, operands[2], operands[3])" "add\\t%w0, %w4, %w1, xt%e3 %p2" - [(set_attr "type" "alu_ext") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_ext")] ) (define_insn "*add3_carryin" @@ -1442,8 +1389,7 @@ (match_operand:GPI 2 "register_operand" "r"))))] "" "adc\\t%0, %1, %2" - [(set_attr "type" "adc_reg") - (set_attr "mode" "")] + [(set_attr "type" "adc_reg")] ) ;; zero_extend version of above @@ -1457,8 +1403,7 @@ (match_operand:SI 2 "register_operand" "r")))))] "" "adc\\t%w0, %w1, %w2" - [(set_attr "type" "adc_reg") - (set_attr "mode" "SI")] + [(set_attr "type" "adc_reg")] ) (define_insn "*add3_carryin_alt1" @@ -1470,8 +1415,7 @@ (geu:GPI (reg:CC CC_REGNUM) (const_int 0))))] "" "adc\\t%0, %1, %2" - [(set_attr "type" "adc_reg") - (set_attr "mode" "")] + [(set_attr "type" "adc_reg")] ) ;; zero_extend version of above @@ -1485,8 +1429,7 @@ (geu:SI (reg:CC CC_REGNUM) (const_int 0)))))] "" "adc\\t%w0, %w1, %w2" - [(set_attr "type" "adc_reg") - (set_attr "mode" "SI")] + [(set_attr "type" "adc_reg")] ) (define_insn "*add3_carryin_alt2" @@ -1498,8 +1441,7 @@ (match_operand:GPI 2 "register_operand" "r")))] "" "adc\\t%0, %1, %2" - [(set_attr "type" "adc_reg") - (set_attr "mode" "")] + [(set_attr "type" "adc_reg")] ) ;; zero_extend version of above @@ -1513,8 +1455,7 @@ (match_operand:SI 2 "register_operand" "r"))))] "" "adc\\t%w0, %w1, %w2" - [(set_attr "type" "adc_reg") - (set_attr "mode" "SI")] + [(set_attr "type" "adc_reg")] ) (define_insn "*add3_carryin_alt3" @@ -1526,8 +1467,7 @@ (match_operand:GPI 1 "register_operand" "r")))] "" "adc\\t%0, %1, %2" - [(set_attr "type" "adc_reg") - (set_attr "mode" "")] + [(set_attr "type" "adc_reg")] ) ;; zero_extend version of above @@ -1541,8 +1481,7 @@ (match_operand:SI 1 "register_operand" "r"))))] "" "adc\\t%w0, %w1, %w2" - [(set_attr "type" "adc_reg") - (set_attr "mode" "SI")] + [(set_attr "type" "adc_reg")] ) (define_insn "*add_uxt_multp2" @@ -1557,8 +1496,7 @@ operands[3] = GEN_INT (aarch64_uxt_size (exact_log2 (INTVAL (operands[2])), INTVAL (operands[3]))); return \"add\t%0, %4, %1, uxt%e3 %p2\";" - [(set_attr "type" "alu_ext") - (set_attr "mode" "")] + [(set_attr "type" "alu_ext")] ) ;; zero_extend version of above @@ -1575,8 +1513,7 @@ operands[3] = GEN_INT (aarch64_uxt_size (exact_log2 (INTVAL (operands[2])), INTVAL (operands[3]))); return \"add\t%w0, %w4, %w1, uxt%e3 %p2\";" - [(set_attr "type" "alu_ext") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_ext")] ) (define_insn "subsi3" @@ -1585,8 +1522,7 @@ (match_operand:SI 2 "register_operand" "r")))] "" "sub\\t%w0, %w1, %w2" - [(set_attr "type" "alu_reg") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_reg")] ) ;; zero_extend version of above @@ -1597,8 +1533,7 @@ (match_operand:SI 2 "register_operand" "r"))))] "" "sub\\t%w0, %w1, %w2" - [(set_attr "type" "alu_reg") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_reg")] ) (define_insn "subdi3" @@ -1610,7 +1545,6 @@ sub\\t%x0, %x1, %x2 sub\\t%d0, %d1, %d2" [(set_attr "type" "alu_reg, neon_sub") - (set_attr "mode" "DI") (set_attr "simd" "*,yes")] ) @@ -1624,8 +1558,7 @@ (minus:GPI (match_dup 1) (match_dup 2)))] "" "subs\\t%0, %1, %2" - [(set_attr "type" "alus_reg") - (set_attr "mode" "")] + [(set_attr "type" "alus_reg")] ) ;; zero_extend version of above @@ -1638,8 +1571,7 @@ (zero_extend:DI (minus:SI (match_dup 1) (match_dup 2))))] "" "subs\\t%w0, %w1, %w2" - [(set_attr "type" "alus_reg") - (set_attr "mode" "SI")] + [(set_attr "type" "alus_reg")] ) (define_insn "*sub__" @@ -1650,8 +1582,7 @@ (match_operand:QI 2 "aarch64_shift_imm_" "n"))))] "" "sub\\t%0, %3, %1, %2" - [(set_attr "type" "alu_shift_imm") - (set_attr "mode" "")] + [(set_attr "type" "alu_shift_imm")] ) ;; zero_extend version of above @@ -1664,8 +1595,7 @@ (match_operand:QI 2 "aarch64_shift_imm_si" "n")))))] "" "sub\\t%w0, %w3, %w1, %2" - [(set_attr "type" "alu_shift_imm") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_shift_imm")] ) (define_insn "*sub_mul_imm_" @@ -1676,8 +1606,7 @@ (match_operand:QI 2 "aarch64_pwr_2_" "n"))))] "" "sub\\t%0, %3, %1, lsl %p2" - [(set_attr "type" "alu_shift_imm") - (set_attr "mode" "")] + [(set_attr "type" "alu_shift_imm")] ) ;; zero_extend version of above @@ -1690,8 +1619,7 @@ (match_operand:QI 2 "aarch64_pwr_2_si" "n")))))] "" "sub\\t%w0, %w3, %w1, lsl %p2" - [(set_attr "type" "alu_shift_imm") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_shift_imm")] ) (define_insn "*sub__" @@ -1701,8 +1629,7 @@ (match_operand:ALLX 2 "register_operand" "r"))))] "" "sub\\t%0, %1, %2, xt" - [(set_attr "type" "alu_ext") - (set_attr "mode" "")] + [(set_attr "type" "alu_ext")] ) ;; zero_extend version of above @@ -1714,8 +1641,7 @@ (match_operand:SHORT 2 "register_operand" "r")))))] "" "sub\\t%w0, %w1, %w2, xt" - [(set_attr "type" "alu_ext") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_ext")] ) (define_insn "*sub__shft_" @@ -1726,8 +1652,7 @@ (match_operand 3 "aarch64_imm3" "Ui3"))))] "" "sub\\t%0, %1, %2, xt %3" - [(set_attr "type" "alu_ext") - (set_attr "mode" "")] + [(set_attr "type" "alu_ext")] ) ;; zero_extend version of above @@ -1740,8 +1665,7 @@ (match_operand 3 "aarch64_imm3" "Ui3")))))] "" "sub\\t%w0, %w1, %w2, xt %3" - [(set_attr "type" "alu_ext") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_ext")] ) (define_insn "*sub__multp2" @@ -1754,8 +1678,7 @@ (const_int 0))))] "aarch64_is_extend_from_extract (mode, operands[2], operands[3])" "sub\\t%0, %4, %1, xt%e3 %p2" - [(set_attr "type" "alu_ext") - (set_attr "mode" "")] + [(set_attr "type" "alu_ext")] ) ;; zero_extend version of above @@ -1770,8 +1693,7 @@ (const_int 0)))))] "aarch64_is_extend_from_extract (SImode, operands[2], operands[3])" "sub\\t%w0, %w4, %w1, xt%e3 %p2" - [(set_attr "type" "alu_ext") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_ext")] ) (define_insn "*sub3_carryin" @@ -1783,8 +1705,7 @@ (match_operand:GPI 2 "register_operand" "r")))] "" "sbc\\t%0, %1, %2" - [(set_attr "type" "adc_reg") - (set_attr "mode" "")] + [(set_attr "type" "adc_reg")] ) ;; zero_extend version of the above @@ -1798,8 +1719,7 @@ (match_operand:SI 2 "register_operand" "r"))))] "" "sbc\\t%w0, %w1, %w2" - [(set_attr "type" "adc_reg") - (set_attr "mode" "SI")] + [(set_attr "type" "adc_reg")] ) (define_insn "*sub_uxt_multp2" @@ -1814,8 +1734,7 @@ operands[3] = GEN_INT (aarch64_uxt_size (exact_log2 (INTVAL (operands[2])), INTVAL (operands[3]))); return \"sub\t%0, %4, %1, uxt%e3 %p2\";" - [(set_attr "type" "alu_ext") - (set_attr "mode" "")] + [(set_attr "type" "alu_ext")] ) ;; zero_extend version of above @@ -1832,8 +1751,7 @@ operands[3] = GEN_INT (aarch64_uxt_size (exact_log2 (INTVAL (operands[2])), INTVAL (operands[3]))); return \"sub\t%w0, %w4, %w1, uxt%e3 %p2\";" - [(set_attr "type" "alu_ext") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_ext")] ) (define_insn_and_split "absdi2" @@ -1864,8 +1782,7 @@ GEN_INT (63))))); DONE; } - [(set_attr "type" "alu_reg") - (set_attr "mode" "DI")] + [(set_attr "type" "alu_reg")] ) (define_insn "neg2" @@ -1876,8 +1793,7 @@ neg\\t%0, %1 neg\\t%0, %1" [(set_attr "type" "alu_reg, neon_neg") - (set_attr "simd" "*,yes") - (set_attr "mode" "")] + (set_attr "simd" "*,yes")] ) ;; zero_extend version of above @@ -1886,8 +1802,7 @@ (zero_extend:DI (neg:SI (match_operand:SI 1 "register_operand" "r"))))] "" "neg\\t%w0, %w1" - [(set_attr "type" "alu_reg") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_reg")] ) (define_insn "*ngc" @@ -1896,8 +1811,7 @@ (match_operand:GPI 1 "register_operand" "r")))] "" "ngc\\t%0, %1" - [(set_attr "type" "adc_reg") - (set_attr "mode" "")] + [(set_attr "type" "adc_reg")] ) (define_insn "*ngcsi_uxtw" @@ -1907,8 +1821,7 @@ (match_operand:SI 1 "register_operand" "r"))))] "" "ngc\\t%w0, %w1" - [(set_attr "type" "adc_reg") - (set_attr "mode" "SI")] + [(set_attr "type" "adc_reg")] ) (define_insn "*neg2_compare0" @@ -1919,8 +1832,7 @@ (neg:GPI (match_dup 1)))] "" "negs\\t%0, %1" - [(set_attr "type" "alus_reg") - (set_attr "mode" "")] + [(set_attr "type" "alus_reg")] ) ;; zero_extend version of above @@ -1932,8 +1844,7 @@ (zero_extend:DI (neg:SI (match_dup 1))))] "" "negs\\t%w0, %w1" - [(set_attr "type" "alus_reg") - (set_attr "mode" "SI")] + [(set_attr "type" "alus_reg")] ) (define_insn "*neg_3_compare0" @@ -1947,8 +1858,7 @@ (neg:GPI (ASHIFT:GPI (match_dup 1) (match_dup 2))))] "" "negs\\t%0, %1, %2" - [(set_attr "type" "alus_shift_imm") - (set_attr "mode" "")] + [(set_attr "type" "alus_shift_imm")] ) (define_insn "*neg__2" @@ -1958,8 +1868,7 @@ (match_operand:QI 2 "aarch64_shift_imm_" "n"))))] "" "neg\\t%0, %1, %2" - [(set_attr "type" "alu_shift_imm") - (set_attr "mode" "")] + [(set_attr "type" "alu_shift_imm")] ) ;; zero_extend version of above @@ -1971,8 +1880,7 @@ (match_operand:QI 2 "aarch64_shift_imm_si" "n")))))] "" "neg\\t%w0, %w1, %2" - [(set_attr "type" "alu_shift_imm") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_shift_imm")] ) (define_insn "*neg_mul_imm_2" @@ -1982,8 +1890,7 @@ (match_operand:QI 2 "aarch64_pwr_2_" "n"))))] "" "neg\\t%0, %1, lsl %p2" - [(set_attr "type" "alu_shift_imm") - (set_attr "mode" "")] + [(set_attr "type" "alu_shift_imm")] ) ;; zero_extend version of above @@ -1995,8 +1902,7 @@ (match_operand:QI 2 "aarch64_pwr_2_si" "n")))))] "" "neg\\t%w0, %w1, lsl %p2" - [(set_attr "type" "alu_shift_imm") - (set_attr "mode" "SI")] + [(set_attr "type" "alu_shift_imm")] ) (define_insn "mul3" @@ -2005,8 +1911,7 @@ (match_operand:GPI 2 "register_operand" "r")))] "" "mul\\t%0, %1, %2" - [(set_attr "type" "mul") - (set_attr "mode" "")] + [(set_attr "type" "mul")] ) ;; zero_extend version of above @@ -2017,8 +1922,7 @@ (match_operand:SI 2 "register_operand" "r"))))] "" "mul\\t%w0, %w1, %w2" - [(set_attr "type" "mul") - (set_attr "mode" "SI")] + [(set_attr "type" "mul")] ) (define_insn "*madd" @@ -2028,8 +1932,7 @@ (match_operand:GPI 3 "register_operand" "r")))] "" "madd\\t%0, %1, %2, %3" - [(set_attr "type" "mla") - (set_attr "mode" "")] + [(set_attr "type" "mla")] ) ;; zero_extend version of above @@ -2041,8 +1944,7 @@ (match_operand:SI 3 "register_operand" "r"))))] "" "madd\\t%w0, %w1, %w2, %w3" - [(set_attr "type" "mla") - (set_attr "mode" "SI")] + [(set_attr "type" "mla")] ) (define_insn "*msub" @@ -2053,8 +1955,7 @@ "" "msub\\t%0, %1, %2, %3" - [(set_attr "type" "mla") - (set_attr "mode" "")] + [(set_attr "type" "mla")] ) ;; zero_extend version of above @@ -2067,8 +1968,7 @@ "" "msub\\t%w0, %w1, %w2, %w3" - [(set_attr "type" "mla") - (set_attr "mode" "SI")] + [(set_attr "type" "mla")] ) (define_insn "*mul_neg" @@ -2078,8 +1978,7 @@ "" "mneg\\t%0, %1, %2" - [(set_attr "type" "mul") - (set_attr "mode" "")] + [(set_attr "type" "mul")] ) ;; zero_extend version of above @@ -2091,8 +1990,7 @@ "" "mneg\\t%w0, %w1, %w2" - [(set_attr "type" "mul") - (set_attr "mode" "SI")] + [(set_attr "type" "mul")] ) (define_insn "mulsidi3" @@ -2101,8 +1999,7 @@ (ANY_EXTEND:DI (match_operand:SI 2 "register_operand" "r"))))] "" "mull\\t%0, %w1, %w2" - [(set_attr "type" "mull") - (set_attr "mode" "DI")] + [(set_attr "type" "mull")] ) (define_insn "maddsidi4" @@ -2113,8 +2010,7 @@ (match_operand:DI 3 "register_operand" "r")))] "" "maddl\\t%0, %w1, %w2, %3" - [(set_attr "type" "mlal") - (set_attr "mode" "DI")] + [(set_attr "type" "mlal")] ) (define_insn "msubsidi4" @@ -2126,8 +2022,7 @@ (match_operand:SI 2 "register_operand" "r")))))] "" "msubl\\t%0, %w1, %w2, %3" - [(set_attr "type" "mlal") - (set_attr "mode" "DI")] + [(set_attr "type" "mlal")] ) (define_insn "*mulsidi_neg" @@ -2137,8 +2032,7 @@ (ANY_EXTEND:DI (match_operand:SI 2 "register_operand" "r"))))] "" "mnegl\\t%0, %w1, %w2" - [(set_attr "type" "mull") - (set_attr "mode" "DI")] + [(set_attr "type" "mull")] ) (define_insn "muldi3_highpart" @@ -2151,8 +2045,7 @@ (const_int 64))))] "" "mulh\\t%0, %1, %2" - [(set_attr "type" "mull") - (set_attr "mode" "DI")] + [(set_attr "type" "mull")] ) (define_insn "div3" @@ -2161,8 +2054,7 @@ (match_operand:GPI 2 "register_operand" "r")))] "" "div\\t%0, %1, %2" - [(set_attr "type" "div") - (set_attr "mode" "")] + [(set_attr "type" "div")] ) ;; zero_extend version of above @@ -2173,8 +2065,7 @@ (match_operand:SI 2 "register_operand" "r"))))] "" "div\\t%w0, %w1, %w2" - [(set_attr "type" "div") - (set_attr "mode" "SI")] + [(set_attr "type" "div")] ) ;; ------------------------------------------------------------------- @@ -2190,8 +2081,7 @@ cmp\\t%0, %1 cmp\\t%0, %1 cmn\\t%0, #%n1" - [(set_attr "type" "alus_reg,alus_imm,alus_imm") - (set_attr "mode" "")] + [(set_attr "type" "alus_reg,alus_imm,alus_imm")] ) (define_insn "*cmp" @@ -2202,8 +2092,7 @@ "@ fcmp\\t%0, #0.0 fcmp\\t%0, %1" - [(set_attr "type" "fcmp") - (set_attr "mode" "")] + [(set_attr "type" "fcmp")] ) (define_insn "*cmpe" @@ -2214,8 +2103,7 @@ "@ fcmpe\\t%0, #0.0 fcmpe\\t%0, %1" - [(set_attr "type" "fcmp") - (set_attr "mode" "")] + [(set_attr "type" "fcmp")] ) (define_insn "*cmp_swp__reg" @@ -2226,8 +2114,7 @@ (match_operand:GPI 2 "aarch64_reg_or_zero" "rZ")))] "" "cmp\\t%2, %0, %1" - [(set_attr "type" "alus_shift_imm") - (set_attr "mode" "")] + [(set_attr "type" "alus_shift_imm")] ) (define_insn "*cmp_swp__reg" @@ -2237,8 +2124,7 @@ (match_operand:GPI 1 "register_operand" "r")))] "" "cmp\\t%1, %0, xt" - [(set_attr "type" "alus_ext") - (set_attr "mode" "")] + [(set_attr "type" "alus_ext")] ) (define_insn "*cmp_swp__shft_" @@ -2250,8 +2136,7 @@ (match_operand:GPI 2 "register_operand" "r")))] "" "cmp\\t%2, %0, xt %1" - [(set_attr "type" "alus_ext") - (set_attr "mode" "")] + [(set_attr "type" "alus_ext")] ) ;; ------------------------------------------------------------------- @@ -2290,8 +2175,7 @@ [(match_operand 2 "cc_register" "") (const_int 0)]))] "" "cset\\t%0, %m1" - [(set_attr "type" "csel") - (set_attr "mode" "")] + [(set_attr "type" "csel")] ) ;; zero_extend version of the above @@ -2302,8 +2186,7 @@ [(match_operand 2 "cc_register" "") (const_int 0)])))] "" "cset\\t%w0, %m1" - [(set_attr "type" "csel") - (set_attr "mode" "SI")] + [(set_attr "type" "csel")] ) (define_insn "cstore_neg" @@ -2312,8 +2195,7 @@ [(match_operand 2 "cc_register" "") (const_int 0)])))] "" "csetm\\t%0, %m1" - [(set_attr "type" "csel") - (set_attr "mode" "")] + [(set_attr "type" "csel")] ) ;; zero_extend version of the above @@ -2324,8 +2206,7 @@ [(match_operand 2 "cc_register" "") (const_int 0)]))))] "" "csetm\\t%w0, %m1" - [(set_attr "type" "csel") - (set_attr "mode" "SI")] + [(set_attr "type" "csel")] ) (define_expand "cmov6" @@ -2378,8 +2259,7 @@ csinc\\t%0, %4, zr, %M1 mov\\t%0, -1 mov\\t%0, 1" - [(set_attr "type" "csel") - (set_attr "mode" "")] + [(set_attr "type" "csel")] ) ;; zero_extend version of above @@ -2402,8 +2282,7 @@ csinc\\t%w0, %w4, wzr, %M1 mov\\t%w0, -1 mov\\t%w0, 1" - [(set_attr "type" "csel") - (set_attr "mode" "SI")] + [(set_attr "type" "csel")] ) (define_insn "*cmov_insn" @@ -2415,8 +2294,7 @@ (match_operand:GPF 4 "register_operand" "w")))] "TARGET_FLOAT" "fcsel\\t%0, %3, %4, %m1" - [(set_attr "type" "fcsel") - (set_attr "mode" "")] + [(set_attr "type" "fcsel")] ) (define_expand "movcc" @@ -2464,8 +2342,8 @@ (match_operand:GPI 1 "register_operand" "r")))] "" "csinc\\t%0, %1, %1, %M2" - [(set_attr "type" "csel") - (set_attr "mode" "")]) + [(set_attr "type" "csel")] +) (define_insn "csinc3_insn" [(set (match_operand:GPI 0 "register_operand" "=r") @@ -2477,8 +2355,7 @@ (match_operand:GPI 4 "aarch64_reg_or_zero" "rZ")))] "" "csinc\\t%0, %4, %3, %M1" - [(set_attr "type" "csel") - (set_attr "mode" "")] + [(set_attr "type" "csel")] ) (define_insn "*csinv3_insn" @@ -2490,8 +2367,8 @@ (match_operand:GPI 4 "aarch64_reg_or_zero" "rZ")))] "" "csinv\\t%0, %4, %3, %M1" - [(set_attr "type" "csel") - (set_attr "mode" "")]) + [(set_attr "type" "csel")] +) (define_insn "*csneg3_insn" [(set (match_operand:GPI 0 "register_operand" "=r") @@ -2502,8 +2379,8 @@ (match_operand:GPI 4 "aarch64_reg_or_zero" "rZ")))] "" "csneg\\t%0, %4, %3, %M1" - [(set_attr "type" "csel") - (set_attr "mode" "")]) + [(set_attr "type" "csel")] +) ;; ------------------------------------------------------------------- ;; Logical operations @@ -2515,8 +2392,8 @@ (match_operand:GPI 2 "aarch64_logical_operand" "r,")))] "" "\\t%0, %1, %2" - [(set_attr "type" "logic_reg,logic_imm") - (set_attr "mode" "")]) + [(set_attr "type" "logic_reg,logic_imm")] +) ;; zero_extend version of above (define_insn "*si3_uxtw" @@ -2526,8 +2403,8 @@ (match_operand:SI 2 "aarch64_logical_operand" "r,K"))))] "" "\\t%w0, %w1, %w2" - [(set_attr "type" "logic_reg,logic_imm") - (set_attr "mode" "SI")]) + [(set_attr "type" "logic_reg,logic_imm")] +) (define_insn "*and3_compare0" [(set (reg:CC_NZ CC_REGNUM) @@ -2539,8 +2416,7 @@ (and:GPI (match_dup 1) (match_dup 2)))] "" "ands\\t%0, %1, %2" - [(set_attr "type" "logics_reg,logics_imm") - (set_attr "mode" "")] + [(set_attr "type" "logics_reg,logics_imm")] ) ;; zero_extend version of above @@ -2554,8 +2430,7 @@ (zero_extend:DI (and:SI (match_dup 1) (match_dup 2))))] "" "ands\\t%w0, %w1, %w2" - [(set_attr "type" "logics_reg,logics_imm") - (set_attr "mode" "SI")] + [(set_attr "type" "logics_reg,logics_imm")] ) (define_insn "*and_3_compare0" @@ -2570,8 +2445,7 @@ (and:GPI (SHIFT:GPI (match_dup 1) (match_dup 2)) (match_dup 3)))] "" "ands\\t%0, %3, %1, %2" - [(set_attr "type" "logics_shift_imm") - (set_attr "mode" "")] + [(set_attr "type" "logics_shift_imm")] ) ;; zero_extend version of above @@ -2588,8 +2462,7 @@ (match_dup 3))))] "" "ands\\t%w0, %w3, %w1, %2" - [(set_attr "type" "logics_shift_imm") - (set_attr "mode" "SI")] + [(set_attr "type" "logics_shift_imm")] ) (define_insn "*_3" @@ -2600,8 +2473,8 @@ (match_operand:GPI 3 "register_operand" "r")))] "" "\\t%0, %3, %1, %2" - [(set_attr "type" "logic_shift_imm") - (set_attr "mode" "")]) + [(set_attr "type" "logic_shift_imm")] +) ;; zero_extend version of above (define_insn "*_si3_uxtw" @@ -2613,16 +2486,16 @@ (match_operand:SI 3 "register_operand" "r"))))] "" "\\t%w0, %w3, %w1, %2" - [(set_attr "type" "logic_shift_imm") - (set_attr "mode" "SI")]) + [(set_attr "type" "logic_shift_imm")] +) (define_insn "one_cmpl2" [(set (match_operand:GPI 0 "register_operand" "=r") (not:GPI (match_operand:GPI 1 "register_operand" "r")))] "" "mvn\\t%0, %1" - [(set_attr "type" "logic_reg") - (set_attr "mode" "")]) + [(set_attr "type" "logic_reg")] +) (define_insn "*one_cmpl_2" [(set (match_operand:GPI 0 "register_operand" "=r") @@ -2630,8 +2503,8 @@ (match_operand:QI 2 "aarch64_shift_imm_" "n"))))] "" "mvn\\t%0, %1, %2" - [(set_attr "type" "logic_shift_imm") - (set_attr "mode" "")]) + [(set_attr "type" "logic_shift_imm")] +) (define_insn "*_one_cmpl3" [(set (match_operand:GPI 0 "register_operand" "=r") @@ -2640,8 +2513,8 @@ (match_operand:GPI 2 "register_operand" "r")))] "" "\\t%0, %2, %1" - [(set_attr "type" "logic_reg") - (set_attr "mode" "")]) + [(set_attr "type" "logic_reg")] +) (define_insn "*and_one_cmpl3_compare0" [(set (reg:CC_NZ CC_REGNUM) @@ -2654,8 +2527,8 @@ (and:GPI (not:GPI (match_dup 1)) (match_dup 2)))] "" "bics\\t%0, %2, %1" - [(set_attr "type" "logics_reg") - (set_attr "mode" "")]) + [(set_attr "type" "logics_reg")] +) ;; zero_extend version of above (define_insn "*and_one_cmplsi3_compare0_uxtw" @@ -2669,8 +2542,8 @@ (zero_extend:DI (and:SI (not:SI (match_dup 1)) (match_dup 2))))] "" "bics\\t%w0, %w2, %w1" - [(set_attr "type" "logics_reg") - (set_attr "mode" "SI")]) + [(set_attr "type" "logics_reg")] +) (define_insn "*_one_cmpl_3" [(set (match_operand:GPI 0 "register_operand" "=r") @@ -2681,8 +2554,8 @@ (match_operand:GPI 3 "register_operand" "r")))] "" "\\t%0, %3, %1, %2" - [(set_attr "type" "logics_shift_imm") - (set_attr "mode" "")]) + [(set_attr "type" "logics_shift_imm")] +) (define_insn "*and_one_cmpl_3_compare0" [(set (reg:CC_NZ CC_REGNUM) @@ -2699,8 +2572,8 @@ (match_dup 1) (match_dup 2))) (match_dup 3)))] "" "bics\\t%0, %3, %1, %2" - [(set_attr "type" "logics_shift_imm") - (set_attr "mode" "")]) + [(set_attr "type" "logics_shift_imm")] +) ;; zero_extend version of above (define_insn "*and_one_cmpl_si3_compare0_uxtw" @@ -2718,16 +2591,16 @@ (SHIFT:SI (match_dup 1) (match_dup 2))) (match_dup 3))))] "" "bics\\t%w0, %w3, %w1, %2" - [(set_attr "type" "logics_shift_imm") - (set_attr "mode" "SI")]) + [(set_attr "type" "logics_shift_imm")] +) (define_insn "clz2" [(set (match_operand:GPI 0 "register_operand" "=r") (clz:GPI (match_operand:GPI 1 "register_operand" "r")))] "" "clz\\t%0, %1" - [(set_attr "type" "clz") - (set_attr "mode" "")]) + [(set_attr "type" "clz")] +) (define_expand "ffs2" [(match_operand:GPI 0 "register_operand") @@ -2749,16 +2622,16 @@ (unspec:GPI [(match_operand:GPI 1 "register_operand" "r")] UNSPEC_CLS))] "" "cls\\t%0, %1" - [(set_attr "type" "clz") - (set_attr "mode" "")]) + [(set_attr "type" "clz")] +) (define_insn "rbit2" [(set (match_operand:GPI 0 "register_operand" "=r") (unspec:GPI [(match_operand:GPI 1 "register_operand" "r")] UNSPEC_RBIT))] "" "rbit\\t%0, %1" - [(set_attr "type" "rbit") - (set_attr "mode" "")]) + [(set_attr "type" "rbit")] +) (define_expand "ctz2" [(match_operand:GPI 0 "register_operand") @@ -2779,8 +2652,8 @@ (const_int 0)))] "" "tst\\t%0, %1" - [(set_attr "type" "logics_reg") - (set_attr "mode" "")]) + [(set_attr "type" "logics_reg")] +) (define_insn "*and_3nr_compare0" [(set (reg:CC_NZ CC_REGNUM) @@ -2792,8 +2665,8 @@ (const_int 0)))] "" "tst\\t%2, %0, %1" - [(set_attr "type" "logics_shift_imm") - (set_attr "mode" "")]) + [(set_attr "type" "logics_shift_imm")] +) ;; ------------------------------------------------------------------- ;; Shifts @@ -2894,8 +2767,7 @@ ushl\t%0, %1, %2 lsl\t%0, %1, %2" [(set_attr "simd" "yes,yes,no") - (set_attr "type" "neon_shift_imm, neon_shift_reg,shift_reg") - (set_attr "mode" "*,*,")] + (set_attr "type" "neon_shift_imm, neon_shift_reg,shift_reg")] ) ;; Logical right shift using SISD or Integer instruction @@ -2910,8 +2782,7 @@ # lsr\t%0, %1, %2" [(set_attr "simd" "yes,yes,no") - (set_attr "type" "neon_shift_imm,neon_shift_reg,shift_reg") - (set_attr "mode" "*,*,")] + (set_attr "type" "neon_shift_imm,neon_shift_reg,shift_reg")] ) (define_split @@ -2952,8 +2823,7 @@ # asr\t%0, %1, %2" [(set_attr "simd" "yes,yes,no") - (set_attr "type" "neon_shift_imm,neon_shift_reg,shift_reg") - (set_attr "mode" "*,*,")] + (set_attr "type" "neon_shift_imm,neon_shift_reg,shift_reg")] ) (define_split @@ -3044,8 +2914,7 @@ (match_operand:QI 2 "aarch64_reg_or_shift_imm_" "rUs")))] "" "ror\\t%0, %1, %2" - [(set_attr "type" "shift_reg") - (set_attr "mode" "")] + [(set_attr "type" "shift_reg")] ) ;; zero_extend version of above @@ -3056,8 +2925,7 @@ (match_operand:QI 2 "aarch64_reg_or_shift_imm_si" "rUss"))))] "" "\\t%w0, %w1, %w2" - [(set_attr "type" "shift_reg") - (set_attr "mode" "SI")] + [(set_attr "type" "shift_reg")] ) (define_insn "*ashl3_insn" @@ -3066,8 +2934,7 @@ (match_operand:QI 2 "aarch64_reg_or_shift_imm_si" "rUss")))] "" "lsl\\t%0, %1, %2" - [(set_attr "type" "shift_reg") - (set_attr "mode" "")] + [(set_attr "type" "shift_reg")] ) (define_insn "*3_insn" @@ -3079,8 +2946,7 @@ operands[3] = GEN_INT ( - UINTVAL (operands[2])); return "\t%w0, %w1, %2, %3"; } - [(set_attr "type" "bfm") - (set_attr "mode" "")] + [(set_attr "type" "bfm")] ) (define_insn "*extr5_insn" @@ -3092,8 +2958,7 @@ "UINTVAL (operands[3]) < GET_MODE_BITSIZE (mode) && (UINTVAL (operands[3]) + UINTVAL (operands[4]) == GET_MODE_BITSIZE (mode))" "extr\\t%0, %1, %2, %4" - [(set_attr "type" "shift_imm") - (set_attr "mode" "")] + [(set_attr "type" "shift_imm")] ) ;; zero_extend version of the above @@ -3107,8 +2972,7 @@ "UINTVAL (operands[3]) < 32 && (UINTVAL (operands[3]) + UINTVAL (operands[4]) == 32)" "extr\\t%w0, %w1, %w2, %4" - [(set_attr "type" "shift_imm") - (set_attr "mode" "SI")] + [(set_attr "type" "shift_imm")] ) (define_insn "*ror3_insn" @@ -3120,8 +2984,7 @@ operands[3] = GEN_INT ( - UINTVAL (operands[2])); return "ror\\t%0, %1, %3"; } - [(set_attr "type" "shift_imm") - (set_attr "mode" "")] + [(set_attr "type" "shift_imm")] ) ;; zero_extend version of the above @@ -3135,8 +2998,7 @@ operands[3] = GEN_INT (32 - UINTVAL (operands[2])); return "ror\\t%w0, %w1, %3"; } - [(set_attr "type" "shift_imm") - (set_attr "mode" "SI")] + [(set_attr "type" "shift_imm")] ) (define_insn "*_ashl" @@ -3149,8 +3011,7 @@ operands[3] = GEN_INT ( - UINTVAL (operands[2])); return "bfiz\t%0, %1, %2, %3"; } - [(set_attr "type" "bfm") - (set_attr "mode" "")] + [(set_attr "type" "bfm")] ) (define_insn "*zero_extend_lshr" @@ -3163,8 +3024,7 @@ operands[3] = GEN_INT ( - UINTVAL (operands[2])); return "ubfx\t%0, %1, %2, %3"; } - [(set_attr "type" "bfm") - (set_attr "mode" "")] + [(set_attr "type" "bfm")] ) (define_insn "*extend_ashr" @@ -3177,8 +3037,7 @@ operands[3] = GEN_INT ( - UINTVAL (operands[2])); return "sbfx\\t%0, %1, %2, %3"; } - [(set_attr "type" "bfm") - (set_attr "mode" "")] + [(set_attr "type" "bfm")] ) ;; ------------------------------------------------------------------- @@ -3201,8 +3060,7 @@ (match_operand 3 "const_int_operand" "n")))] "" "bfx\\t%0, %1, %3, %2" - [(set_attr "type" "bfm") - (set_attr "mode" "")] + [(set_attr "type" "bfm")] ) ;; Bitfield Insert (insv) @@ -3245,8 +3103,7 @@ || (UINTVAL (operands[2]) + UINTVAL (operands[1]) > GET_MODE_BITSIZE (mode)))" "bfi\\t%0, %3, %2, %1" - [(set_attr "type" "bfm") - (set_attr "mode" "")] + [(set_attr "type" "bfm")] ) (define_insn "*extr_insv_lower_reg" @@ -3260,8 +3117,7 @@ || (UINTVAL (operands[3]) + UINTVAL (operands[1]) > GET_MODE_BITSIZE (mode)))" "bfxil\\t%0, %2, %3, %1" - [(set_attr "type" "bfm") - (set_attr "mode" "")] + [(set_attr "type" "bfm")] ) (define_insn "*_shft_" @@ -3276,8 +3132,7 @@ : GEN_INT ( - UINTVAL (operands[2])); return "bfiz\t%0, %1, %2, %3"; } - [(set_attr "type" "bfm") - (set_attr "mode" "")] + [(set_attr "type" "bfm")] ) ;; XXX We should match (any_extend (ashift)) here, like (and (ashift)) below @@ -3290,8 +3145,7 @@ "exact_log2 ((INTVAL (operands[3]) >> INTVAL (operands[2])) + 1) >= 0 && (INTVAL (operands[3]) & ((1 << INTVAL (operands[2])) - 1)) == 0" "ubfiz\\t%0, %1, %2, %P3" - [(set_attr "type" "bfm") - (set_attr "mode" "")] + [(set_attr "type" "bfm")] ) (define_insn "bswap2" @@ -3299,8 +3153,7 @@ (bswap:GPI (match_operand:GPI 1 "register_operand" "r")))] "" "rev\\t%0, %1" - [(set_attr "type" "rev") - (set_attr "mode" "")] + [(set_attr "type" "rev")] ) (define_insn "bswaphi2" @@ -3308,8 +3161,7 @@ (bswap:HI (match_operand:HI 1 "register_operand" "r")))] "" "rev16\\t%w0, %w1" - [(set_attr "type" "rev") - (set_attr "mode" "HI")] + [(set_attr "type" "rev")] ) ;; zero_extend version of above @@ -3318,8 +3170,7 @@ (zero_extend:DI (bswap:SI (match_operand:SI 1 "register_operand" "r"))))] "" "rev\\t%w0, %w1" - [(set_attr "type" "rev") - (set_attr "mode" "SI")] + [(set_attr "type" "rev")] ) ;; ------------------------------------------------------------------- @@ -3335,8 +3186,7 @@ FRINT))] "TARGET_FLOAT" "frint\\t%0, %1" - [(set_attr "type" "f_rint") - (set_attr "mode" "")] + [(set_attr "type" "f_rint")] ) ;; frcvt floating-point round to integer and convert standard patterns. @@ -3347,9 +3197,7 @@ FCVT)))] "TARGET_FLOAT" "fcvt\\t%0, %1" - [(set_attr "type" "f_cvtf2i") - (set_attr "mode" "") - (set_attr "mode2" "")] + [(set_attr "type" "f_cvtf2i")] ) ;; fma - no throw @@ -3361,8 +3209,7 @@ (match_operand:GPF 3 "register_operand" "w")))] "TARGET_FLOAT" "fmadd\\t%0, %1, %2, %3" - [(set_attr "type" "fmac") - (set_attr "mode" "")] + [(set_attr "type" "fmac")] ) (define_insn "fnma4" @@ -3372,8 +3219,7 @@ (match_operand:GPF 3 "register_operand" "w")))] "TARGET_FLOAT" "fmsub\\t%0, %1, %2, %3" - [(set_attr "type" "fmac") - (set_attr "mode" "")] + [(set_attr "type" "fmac")] ) (define_insn "fms4" @@ -3383,8 +3229,7 @@ (neg:GPF (match_operand:GPF 3 "register_operand" "w"))))] "TARGET_FLOAT" "fnmsub\\t%0, %1, %2, %3" - [(set_attr "type" "fmac") - (set_attr "mode" "")] + [(set_attr "type" "fmac")] ) (define_insn "fnms4" @@ -3394,8 +3239,7 @@ (neg:GPF (match_operand:GPF 3 "register_operand" "w"))))] "TARGET_FLOAT" "fnmadd\\t%0, %1, %2, %3" - [(set_attr "type" "fmac") - (set_attr "mode" "")] + [(set_attr "type" "fmac")] ) ;; If signed zeros are ignored, -(a * b + c) = -a * b - c. @@ -3406,8 +3250,7 @@ (match_operand:GPF 3 "register_operand" "w"))))] "!HONOR_SIGNED_ZEROS (mode) && TARGET_FLOAT" "fnmadd\\t%0, %1, %2, %3" - [(set_attr "type" "fmac") - (set_attr "mode" "")] + [(set_attr "type" "fmac")] ) ;; ------------------------------------------------------------------- @@ -3419,9 +3262,7 @@ (float_extend:DF (match_operand:SF 1 "register_operand" "w")))] "TARGET_FLOAT" "fcvt\\t%d0, %s1" - [(set_attr "type" "f_cvt") - (set_attr "mode" "DF") - (set_attr "mode2" "SF")] + [(set_attr "type" "f_cvt")] ) (define_insn "truncdfsf2" @@ -3429,9 +3270,7 @@ (float_truncate:SF (match_operand:DF 1 "register_operand" "w")))] "TARGET_FLOAT" "fcvt\\t%s0, %d1" - [(set_attr "type" "f_cvt") - (set_attr "mode" "SF") - (set_attr "mode2" "DF")] + [(set_attr "type" "f_cvt")] ) (define_insn "fix_trunc2" @@ -3439,9 +3278,7 @@ (fix:GPI (match_operand:GPF 1 "register_operand" "w")))] "TARGET_FLOAT" "fcvtzs\\t%0, %1" - [(set_attr "type" "f_cvtf2i") - (set_attr "mode" "") - (set_attr "mode2" "")] + [(set_attr "type" "f_cvtf2i")] ) (define_insn "fixuns_trunc2" @@ -3449,9 +3286,7 @@ (unsigned_fix:GPI (match_operand:GPF 1 "register_operand" "w")))] "TARGET_FLOAT" "fcvtzu\\t%0, %1" - [(set_attr "type" "f_cvtf2i") - (set_attr "mode" "") - (set_attr "mode2" "")] + [(set_attr "type" "f_cvtf2i")] ) (define_insn "float2" @@ -3459,9 +3294,7 @@ (float:GPF (match_operand:GPI 1 "register_operand" "r")))] "TARGET_FLOAT" "scvtf\\t%0, %1" - [(set_attr "type" "f_cvti2f") - (set_attr "mode" "") - (set_attr "mode2" "")] + [(set_attr "type" "f_cvti2f")] ) (define_insn "floatuns2" @@ -3469,9 +3302,7 @@ (unsigned_float:GPF (match_operand:GPI 1 "register_operand" "r")))] "TARGET_FLOAT" "ucvtf\\t%0, %1" - [(set_attr "type" "f_cvt") - (set_attr "mode" "") - (set_attr "mode2" "")] + [(set_attr "type" "f_cvt")] ) ;; ------------------------------------------------------------------- @@ -3485,8 +3316,7 @@ (match_operand:GPF 2 "register_operand" "w")))] "TARGET_FLOAT" "fadd\\t%0, %1, %2" - [(set_attr "type" "fadd") - (set_attr "mode" "")] + [(set_attr "type" "fadd")] ) (define_insn "sub3" @@ -3496,8 +3326,7 @@ (match_operand:GPF 2 "register_operand" "w")))] "TARGET_FLOAT" "fsub\\t%0, %1, %2" - [(set_attr "type" "fadd") - (set_attr "mode" "")] + [(set_attr "type" "fadd")] ) (define_insn "mul3" @@ -3507,8 +3336,7 @@ (match_operand:GPF 2 "register_operand" "w")))] "TARGET_FLOAT" "fmul\\t%0, %1, %2" - [(set_attr "type" "fmul") - (set_attr "mode" "")] + [(set_attr "type" "fmul")] ) (define_insn "*fnmul3" @@ -3518,8 +3346,7 @@ (match_operand:GPF 2 "register_operand" "w")))] "TARGET_FLOAT" "fnmul\\t%0, %1, %2" - [(set_attr "type" "fmul") - (set_attr "mode" "")] + [(set_attr "type" "fmul")] ) (define_insn "div3" @@ -3529,8 +3356,7 @@ (match_operand:GPF 2 "register_operand" "w")))] "TARGET_FLOAT" "fdiv\\t%0, %1, %2" - [(set_attr "type" "fdiv") - (set_attr "mode" "")] + [(set_attr "type" "fdiv")] ) (define_insn "neg2" @@ -3538,8 +3364,7 @@ (neg:GPF (match_operand:GPF 1 "register_operand" "w")))] "TARGET_FLOAT" "fneg\\t%0, %1" - [(set_attr "type" "ffarith") - (set_attr "mode" "")] + [(set_attr "type" "ffarith")] ) (define_insn "sqrt2" @@ -3547,8 +3372,7 @@ (sqrt:GPF (match_operand:GPF 1 "register_operand" "w")))] "TARGET_FLOAT" "fsqrt\\t%0, %1" - [(set_attr "type" "fsqrt") - (set_attr "mode" "")] + [(set_attr "type" "fsqrt")] ) (define_insn "abs2" @@ -3556,8 +3380,7 @@ (abs:GPF (match_operand:GPF 1 "register_operand" "w")))] "TARGET_FLOAT" "fabs\\t%0, %1" - [(set_attr "type" "ffarith") - (set_attr "mode" "")] + [(set_attr "type" "ffarith")] ) ;; Given that smax/smin do not specify the result when either input is NaN, @@ -3570,8 +3393,7 @@ (match_operand:GPF 2 "register_operand" "w")))] "TARGET_FLOAT" "fmaxnm\\t%0, %1, %2" - [(set_attr "type" "f_minmax") - (set_attr "mode" "")] + [(set_attr "type" "f_minmax")] ) (define_insn "smin3" @@ -3580,8 +3402,7 @@ (match_operand:GPF 2 "register_operand" "w")))] "TARGET_FLOAT" "fminnm\\t%0, %1, %2" - [(set_attr "type" "f_minmax") - (set_attr "mode" "")] + [(set_attr "type" "f_minmax")] ) ;; ------------------------------------------------------------------- @@ -3614,7 +3435,6 @@ "reload_completed || reload_in_progress" "fmov\\t%x0, %d1" [(set_attr "type" "f_mrc") - (set_attr "mode" "DI") (set_attr "length" "4") ]) @@ -3626,7 +3446,6 @@ "reload_completed || reload_in_progress" "fmov\\t%x0, %1.d[1]" [(set_attr "type" "f_mrc") - (set_attr "mode" "DI") (set_attr "length" "4") ]) @@ -3637,7 +3456,6 @@ "reload_completed || reload_in_progress" "fmov\\t%0.d[1], %x1" [(set_attr "type" "f_mcr") - (set_attr "mode" "DI") (set_attr "length" "4") ]) @@ -3647,7 +3465,6 @@ "reload_completed || reload_in_progress" "fmov\\t%d0, %x1" [(set_attr "type" "f_mcr") - (set_attr "mode" "DI") (set_attr "length" "4") ]) @@ -3658,7 +3475,6 @@ "reload_completed || reload_in_progress" "fmov\\t%d0, %d1" [(set_attr "type" "f_mcr") - (set_attr "mode" "DI") (set_attr "length" "4") ]) @@ -3689,8 +3505,7 @@ (match_operand 2 "aarch64_valid_symref" "S")))] "" "add\\t%0, %1, :lo12:%a2" - [(set_attr "type" "alu_reg") - (set_attr "mode" "")] + [(set_attr "type" "alu_reg")] ) (define_insn "ldr_got_small_" @@ -3701,8 +3516,7 @@ UNSPEC_GOTSMALLPIC))] "" "ldr\\t%0, [%1, #:got_lo12:%a2]" - [(set_attr "type" "load1") - (set_attr "mode" "")] + [(set_attr "type" "load1")] ) (define_insn "ldr_got_small_sidi" @@ -3714,8 +3528,7 @@ UNSPEC_GOTSMALLPIC)))] "TARGET_ILP32" "ldr\\t%w0, [%1, #:got_lo12:%a2]" - [(set_attr "type" "load1") - (set_attr "mode" "DI")] + [(set_attr "type" "load1")] ) (define_insn "ldr_got_tiny" @@ -3724,8 +3537,7 @@ UNSPEC_GOTTINYPIC))] "" "ldr\\t%0, %L1" - [(set_attr "type" "load1") - (set_attr "mode" "DI")] + [(set_attr "type" "load1")] ) (define_insn "aarch64_load_tp_hard" @@ -3733,8 +3545,7 @@ (unspec:DI [(const_int 0)] UNSPEC_TLS))] "" "mrs\\t%0, tpidr_el0" - [(set_attr "type" "mrs") - (set_attr "mode" "DI")] + [(set_attr "type" "mrs")] ) ;; The TLS ABI specifically requires that the compiler does not schedule @@ -3768,7 +3579,6 @@ "" "adrp\\t%0, %A1\;ldr\\t%0, [%0, #%L1]" [(set_attr "type" "load1") - (set_attr "mode" "DI") (set_attr "length" "8")] ) @@ -3780,7 +3590,6 @@ "" "add\\t%0, %1, #%G2\;add\\t%0, %0, #%L2" [(set_attr "type" "alu_reg") - (set_attr "mode" "DI") (set_attr "length" "8")] ) -- 2.7.4