Skip to content

Commit e94b49b

Browse files
author
Claudiu Zissulescu
committed
movsi_ne: Update conditional pattern
1 parent d08921a commit e94b49b

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed

gcc/ChangeLog.ARC

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
2013-03-28 Claudiu Zissulescu <[email protected]>
2+
3+
* config/arc/arc.md (movsi_ne): Update pattern.
4+
15
2013-03-26 Claudiu Zissulescu <[email protected]>
26

37
* config/arc/arc.md: Use ldb 0,[xxx] operation, instead of the

gcc/config/arc/arc.md

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@
247247
- get_attr_length (insn)")))
248248

249249
; for ARCv2 we need to disable/enable different instruction alternatives
250-
(define_attr "cpu_facility" "standard,arcv1,em,cd"
250+
(define_attr "cpu_facility" "standard,arcv1,em,cd,dis"
251251
(const_string "standard"))
252252

253253
; We should consider all the instructions enabled until otherwise
@@ -265,6 +265,9 @@
265265
(not (and (match_test "TARGET_V2")
266266
(match_test "TARGET_CODE_DENSITY"))))
267267
(const_string "no")
268+
269+
(eq_attr "cpu_facility" "dis")
270+
(const_string "no")
268271
]
269272
(const_string "yes")))
270273

@@ -3497,17 +3500,21 @@
34973500
; cond_exec patterns
34983501
(define_insn "*movsi_ne"
34993502
[(cond_exec
3500-
(ne (match_operand:CC_Z 2 "cc_use_register" "Rcc,Rcc,Rcc") (const_int 0))
3501-
(set (match_operand:SI 0 "dest_reg_operand" "=Rcq#q,w,w")
3502-
(match_operand:SI 1 "nonmemory_operand" "C_0,Lc,?Cal")))]
3503+
(ne (match_operand:CC_Z 2 "cc_use_register" "Rcc, Rcc, Rcc,Rcc, Rcc,Rcc") (const_int 0))
3504+
(set (match_operand:SI 0 "dest_reg_operand" "=Rcq#q,Rcq#q,Rcq#q, w,???w,w")
3505+
(match_operand:SI 1 "nonmemory_operand" "C_0, W, ?Cal, Lc,?Rac,?Cal")))]
35033506
""
35043507
"@
35053508
* current_insn_predicate = 0; return \"sub%?.ne %0,%0,%0%&\";
3509+
mov_s.ne %0,%1
3510+
mov_s.ne %0,%1
3511+
mov.ne %0,%1
35063512
mov.ne %0,%1
35073513
mov.ne %0,%S1"
3508-
[(set_attr "type" "cmove,cmove,cmove")
3509-
(set_attr "iscompact" "true,false,false")
3510-
(set_attr "length" "2,4,8")])
3514+
[(set_attr "type" "cmove,cmove,cmove,cmove,cmove,cmove")
3515+
(set_attr "iscompact" "true,true,true_limm,false,false,false")
3516+
(set_attr "length" "2,2,6,4,4,8")
3517+
(set_attr "cpu_facility" "*,dis,dis,*,*,*")])
35113518

35123519
(define_insn "*movsi_cond_exec"
35133520
[(cond_exec

0 commit comments

Comments
 (0)