Skip to content

Commit 00967a1

Browse files
Claudiu Zissulescuartemiy-volkov
authored andcommitted
arc64: Remove mmpy64 option
1 parent e650a7f commit 00967a1

File tree

4 files changed

+20
-33
lines changed

4 files changed

+20
-33
lines changed

gcc/config/arc64/arc64.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -525,8 +525,6 @@ extern const enum reg_class arc64_regno_to_regclass[];
525525
#undef TARGET_ARC64_DIVREM_DEFAULT
526526
#define TARGET_ARC64_DIVREM_DEFAULT 0
527527

528-
#define TARGET_ARC64_MPY64 TARGET_MPY64
529-
530528
/* IFCVT macros. */
531529
#define STORE_FLAG_VALUE 1
532530
#define MAX_CONDITIONAL_EXECUTE 12

gcc/config/arc64/arc64.md

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,6 @@
105105
;; Iterator for General Purpose Integer registers (32- and 64-bit modes)
106106
(define_mode_iterator GPI [SI DI])
107107

108-
;; Iterator for General Purpose Integer registers (32- and 64-bit
109-
;; modes) used by MPY instructions
110-
(define_mode_iterator GPIM [SI (DI "TARGET_ARC64_MPY64")])
111-
112108
;; Iterator for QI and HI modes
113109
(define_mode_iterator SHORT [QI HI])
114110

@@ -139,9 +135,6 @@
139135
;; Three operand arithmetic operations
140136
(define_code_iterator ARITH [plus minus mult])
141137

142-
;; Three operand 64 bit arithmetic operations
143-
(define_code_iterator ARITH64 [plus minus (mult "TARGET_ARC64_MPY64")])
144-
145138
;; Three operand logic operations
146139
(define_code_iterator LOGIC [and ior xor smin smax])
147140

@@ -1026,8 +1019,8 @@ umodl, unknown, xbfu, xor, xorl"
10261019

10271020
(define_expand "<optab>di3"
10281021
[(set (match_operand:DI 0 "register_operand")
1029-
(ARITH64:DI (match_operand:DI 1 "register_operand")
1030-
(match_operand:DI 2 "nonmemory_operand")))]
1022+
(ARITH:DI (match_operand:DI 1 "register_operand")
1023+
(match_operand:DI 2 "nonmemory_operand")))]
10311024
""
10321025
{
10331026
if (!register_operand (operands[2], DImode))

gcc/config/arc64/arc64.opt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,6 @@ mdiv-rem
6060
Target Report Var(TARGET_ARC64_DIVREM) Init(TARGET_ARC64_DIVREM_DEFAULT)
6161
Enable DIV-REM instructions.
6262

63-
mmpy64
64-
Target Report Mask(MPY64)
65-
Enable MPY64 multiplication instructions.
66-
6763
mcpu=
6864
Target RejectNegative Joined
6965
-mcpu= Generate code for specific ARCv3 CPU variant.

gcc/config/arc64/arith.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -562,9 +562,9 @@
562562
(set_attr "predicable" "yes,no,no,yes,no")])
563563

564564
(define_insn "*mul<mode>3"
565-
[(set (match_operand:GPIM 0 "register_operand" "=q,q, r, r, r, r, r")
566-
(mult:GPIM (match_operand:GPIM 1 "register_operand" "%0,q, 0, r, 0, 0, r")
567-
(match_operand:GPIM 2 "nonmemory_operand" "q,0,rU06S0,rU06S0,S12S0,S32S0,S32S0")))]
565+
[(set (match_operand:GPI 0 "register_operand" "=q,q, r, r, r, r, r")
566+
(mult:GPI (match_operand:GPI 1 "register_operand" "%0,q, 0, r, 0, 0, r")
567+
(match_operand:GPI 2 "nonmemory_operand" "q,0,rU06S0,rU06S0,S12S0,S32S0,S32S0")))]
568568
""
569569
"@
570570
mpy<sfxtab>%?\\t%0,%1,%2
@@ -583,9 +583,9 @@
583583
[(cond_exec
584584
(match_operator 3 "ordered_comparison_operator"
585585
[(match_operand 4 "cc_register" "") (const_int 0)])
586-
(set (match_operand:GPIM 0 "register_operand" "= r, r")
587-
(mult:GPIM (match_operand:GPIM 1 "register_operand" "% 0, 0")
588-
(match_operand:GPIM 2 "nonmemory_operand" "rU06S0,S32S0"))))]
586+
(set (match_operand:GPI 0 "register_operand" "= r, r")
587+
(mult:GPI (match_operand:GPI 1 "register_operand" "% 0, 0")
588+
(match_operand:GPI 2 "nonmemory_operand" "rU06S0,S32S0"))))]
589589
""
590590
"mpy<sfxtab>.%m3\\t%0,%1,%2"
591591
[(set_attr "length" "4,8")
@@ -594,12 +594,12 @@
594594
(define_insn "*mul<mode>3_cmp0"
595595
[(set (reg:CC_ZN CC_REGNUM)
596596
(compare:CC_ZN
597-
(mult:GPIM
598-
(match_operand:GPIM 1 "register_operand" "% 0, r, 0, 0, r")
599-
(match_operand:GPIM 2 "nonmemory_operand" "rU06S0,rU06S0,S12S0,S32S0,S32S0"))
597+
(mult:GPI
598+
(match_operand:GPI 1 "register_operand" "% 0, r, 0, 0, r")
599+
(match_operand:GPI 2 "nonmemory_operand" "rU06S0,rU06S0,S12S0,S32S0,S32S0"))
600600
(const_int 0)))
601-
(set (match_operand:GPIM 0 "register_operand" "= r, r, r, r, r")
602-
(mult:GPIM (match_dup 1) (match_dup 2)))]
601+
(set (match_operand:GPI 0 "register_operand" "= r, r, r, r, r")
602+
(mult:GPI (match_dup 1) (match_dup 2)))]
603603
""
604604
"mpy<sfxtab>%?.f\\t%0,%1,%2"
605605
[(set_attr "length" "4,4,4,8,8")
@@ -610,9 +610,9 @@
610610
(define_insn "*mul<mode>3_cmp0_noout"
611611
[(set (reg:CC_ZN CC_REGNUM)
612612
(compare:CC_ZN
613-
(mult:GPIM
614-
(match_operand:GPIM 0 "register_operand" "% r, r, r")
615-
(match_operand:GPIM 1 "nonmemory_operand" "rU06S0,S12S0,S32S0"))
613+
(mult:GPI
614+
(match_operand:GPI 0 "register_operand" "% r, r, r")
615+
(match_operand:GPI 1 "nonmemory_operand" "rU06S0,S12S0,S32S0"))
616616
(const_int 0)))]
617617
""
618618
"mpy<sfxtab>%?.f\\t0,%0,%1"
@@ -643,7 +643,7 @@
643643
(ANY_EXTEND:TI (match_operand:DI 1 "register_operand" "%0,r"))
644644
(ANY_EXTEND:TI (match_operand:DI 2 "register_operand" "r,r")))
645645
(const_int 64))))]
646-
"TARGET_ARC64_MPY64"
646+
""
647647
"mpym<su_optab>l%?\\t%0,%1,%2"
648648
[(set_attr "type" "mpyl")
649649
(set_attr "length" "4")
@@ -653,7 +653,7 @@
653653
[(set (match_operand:TI 0 "register_operand")
654654
(mult:TI (ANY_EXTEND:TI (match_operand:DI 1 "register_operand"))
655655
(ANY_EXTEND:TI (match_operand:DI 2 "register_operand"))))]
656-
"TARGET_ARC64_MPY64"
656+
""
657657
{
658658
rtx low = gen_reg_rtx (DImode);
659659
emit_insn (gen_muldi3 (low, operands[1], operands[2]));
@@ -670,7 +670,7 @@
670670
[(set (match_operand:TI 0 "register_operand")
671671
(mult:TI (zero_extend:TI (match_operand:DI 1 "register_operand"))
672672
(sign_extend:TI (match_operand:DI 2 "register_operand"))))]
673-
"TARGET_ARC64_MPY64"
673+
""
674674
{
675675
rtx low = gen_reg_rtx (DImode);
676676
emit_insn (gen_muldi3 (low, operands[1], operands[2]));
@@ -692,7 +692,7 @@
692692
(sign_extend:TI
693693
(match_operand:DI 2 "register_operand" " r")))
694694
(const_int 64))))]
695-
"TARGET_ARC64_MPY64"
695+
""
696696
"mpymsul\t%0,%2,%1"
697697
[(set_attr "type" "mpyl")
698698
(set_attr "length" "4")])

0 commit comments

Comments
 (0)