Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/gnu/dist/gcc4/gcc/config/vax Only allow jbls/jblc x(r) iff (...
details: https://anonhg.NetBSD.org/src/rev/06cb0dc1a62a
branches: trunk
changeset: 756638:06cb0dc1a62a
user: matt <matt%NetBSD.org@localhost>
date: Tue Jul 27 01:13:41 2010 +0000
description:
Only allow jbls/jblc x(r) iff (x & 3) == 0
diffstat:
gnu/dist/gcc4/gcc/config/vax/vax.md | 46 ++++++++++++++++++++++++++++--------
1 files changed, 36 insertions(+), 10 deletions(-)
diffs (70 lines):
diff -r 2f576554138e -r 06cb0dc1a62a gnu/dist/gcc4/gcc/config/vax/vax.md
--- a/gnu/dist/gcc4/gcc/config/vax/vax.md Mon Jul 26 22:40:11 2010 +0000
+++ b/gnu/dist/gcc4/gcc/config/vax/vax.md Tue Jul 27 01:13:41 2010 +0000
@@ -1129,30 +1129,56 @@
(define_insn ""
[(set (pc)
(if_then_else
- (ne (zero_extract:SI (match_operand:QI 0 "memory_operand" "Q,g")
+ (ne (zero_extract:SI (match_operand:QI 0 "memory_operand" "Q")
(const_int 1)
- (match_operand:SI 1 "general_operand" "I,nrmT"))
+ (const_int 0))
+ (const_int 0))
+ (label_ref (match_operand 1 "" ""))
+ (pc)))]
+ "GET_CODE (XEXP (operands[0], 0)) != PLUS
+ || !REG_P (XEXP (XEXP (operands[0], 0), 0))
+ || !CONST_INT_P (XEXP (XEXP (operands[0], 0), 1))
+ || (INTVAL (XEXP (XEXP (operands[0], 0), 1)) & 3) == 0"
+ "jlbs %0,%l1")
+
+(define_insn ""
+ [(set (pc)
+ (if_then_else
+ (ne (zero_extract:SI (match_operand:QI 0 "memory_operand" "g")
+ (const_int 1)
+ (match_operand:SI 1 "general_operand" "nrmT"))
(const_int 0))
(label_ref (match_operand 2 "" ""))
(pc)))]
""
- "@
- jlbs %0,%l2
- jbs %1,%0,%l2")
+ "jbs %1,%0,%l2")
(define_insn ""
[(set (pc)
(if_then_else
- (eq (zero_extract:SI (match_operand:QI 0 "memory_operand" "Q,g")
+ (eq (zero_extract:SI (match_operand:QI 0 "memory_operand" "Q")
(const_int 1)
- (match_operand:SI 1 "general_operand" "I,nrmT"))
+ (const_int 0))
+ (const_int 0))
+ (label_ref (match_operand 1 "" ""))
+ (pc)))]
+ "GET_CODE (XEXP (operands[0], 0)) != PLUS
+ || !REG_P (XEXP (XEXP (operands[0], 0), 0))
+ || !CONST_INT_P (XEXP (XEXP (operands[0], 0), 1))
+ || (INTVAL (XEXP (XEXP (operands[0], 0), 1)) & 3) == 0"
+ "jlbc %0,%l1")
+
+(define_insn ""
+ [(set (pc)
+ (if_then_else
+ (eq (zero_extract:SI (match_operand:QI 0 "memory_operand" "g")
+ (const_int 1)
+ (match_operand:SI 1 "general_operand" "nrmT"))
(const_int 0))
(label_ref (match_operand 2 "" ""))
(pc)))]
""
- "@
- jlbc %0,%l2
- jbc %1,%0,%l2")
+ "jbc %1,%0,%l2")
(define_insn ""
[(set (pc)
Home |
Main Index |
Thread Index |
Old Index