Skip to content

Commit c1e8287

Browse files
Shahab Vahediartemiy-volkov
authored andcommitted
[ARCx] Add airthmatic instructins for DImode
Signed-off-by: Shahab Vahedi <[email protected]>
1 parent 9c43a93 commit c1e8287

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

gcc/config/arc64/arith.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,24 @@
1313

1414
(define_code_iterator arith_pattern1 [and plus ior xor minus ashift ashiftrt lshiftrt] )
1515

16-
(define_insn "*<arc64_code_map>_insn"
16+
(define_insn "*<arc64_code_map>_si_insn"
1717
[(set ( match_operand:SI 0 "register_operand" "=q,r, r, r, r,r, r, r")
18-
(arith_pattern1:SI (match_operand:SI 1 "nonmemory_operand" "%0,0, 0, 0, r,r,ULIMM, r")
18+
(arith_pattern1:SI (match_operand:SI 1 "nonmemory_operand" " 0,0, 0, 0, r,r,ULIMM, r")
1919
(match_operand:SI 2 "nonmemory_operand" " q,r,U06S0,S12S0,U06S0,r, r,ULIMM")))]
2020
"register_operand (operands[1], SImode) || register_operand (operands[2], SImode)"
21-
"<arc64_code_map>%?\\t%0,%1,%2"
21+
"<arc64_code_map>\\t%0,%1,%2"
2222
[(set_attr "predicable" "no,yes,yes,no,no,no,no,no")
2323
(set_attr "length" "2,4,4,4,4,4,8,8")
2424
(set_attr "type" "<arc64_code_map>")]
2525
)
26+
27+
(define_insn "*<arc64_code_map>_di_insn"
28+
[(set ( match_operand:DI 0 "register_operand" "=r, r, r, r,r, r, r")
29+
(arith_pattern1:DI (match_operand:DI 1 "nonmemory_operand" " 0, 0, 0, r,r,ULIMM, r")
30+
(match_operand:DI 2 "nonmemory_operand" " r,U06S0,S12S0,U06S0,r, r,ULIMM")))]
31+
"register_operand (operands[1], DImode) || register_operand (operands[2], DImode)"
32+
"<arc64_code_map>l\\t%0,%1,%2"
33+
[(set_attr "predicable" "yes,yes,no,no,no,no,no")
34+
(set_attr "length" "4,4,4,4,4,8,8")
35+
(set_attr "type" "<arc64_code_map>")]
36+
)

0 commit comments

Comments
 (0)