CVS: gcc/gcc-current/gcc/config/msp430 msp430.md,1.11,1.12
Dmitry Diky <[email protected]>
| Newsgroups | gmane.comp.hardware.texas-instruments.msp430.gcc.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/mspgcc/gcc/gcc-current/gcc/config/msp430
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20686/config/msp430
Modified Files:
msp430.md
Log Message:
this fixs
1. if(a&0x40)
2. 'and' in DI mode
Index: msp430.md
===================================================================
RCS file: /cvsroot/mspgcc/gcc/gcc-current/gcc/config/msp430/msp430.md,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -w -d -r1.11 -r1.12
--- msp430.md 20 Jul 2004 14:01:40 -0000 1.11
+++ msp430.md 20 Jul 2004 15:22:03 -0000 1.12
@@ -1791,11 +1791,11 @@
(define_insn_and_split "andsi3"
[(set (match_operand:SI 0 "nonimmediate_operand" "")
- (and:SI (match_operand:SI 1 "nonimmediate_operand" "")
+ (and:SI (match_operand:SI 1 "nonimmediate_operand" "%0")
(match_operand:SI 2 "general_operand" "")))]
""
"#"
-"(reload_completed || ( !MEM_VOLATILE_P(operands[0]) && !MEM_VOLATILE_P(operands[1])))"
+""
[(set:HI (match_dup 3) (and:HI (match_dup 5) (match_dup 7)))
(set:HI (match_dup 4) (and:HI (match_dup 6) (match_dup 8)))]
"{
@@ -1808,6 +1808,36 @@
}"
[(set_attr "cc" "none")])
+
+(define_insn_and_split "anddi3"
+ [(set (match_operand:DI 0 "nonimmediate_operand" "")
+ (and:DI (match_operand:DI 1 "nonimmediate_operand" "%0")
+ (match_operand:DI 2 "general_operand" "")))]
+""
+"#"
+""
+[(set:HI (match_dup 3) (and:HI (match_dup 7) (match_dup 11)))
+ (set:HI (match_dup 4) (and:HI (match_dup 8) (match_dup 12)))
+ (set:HI (match_dup 5) (and:HI (match_dup 9) (match_dup 13)))
+ (set:HI (match_dup 6) (and:HI (match_dup 10) (match_dup 14)))]
+"{
+ operands[3] = simplify_gen_subreg(HImode,operands[0],SImode,0);
+ operands[4] = simplify_gen_subreg(HImode,operands[0],SImode,2);
+ operands[5] = simplify_gen_subreg(HImode,operands[0],SImode,4);
+ operands[6] = simplify_gen_subreg(HImode,operands[0],SImode,6);
+
+ operands[7] = simplify_gen_subreg(HImode,operands[1],SImode,0);
+ operands[8] = simplify_gen_subreg(HImode,operands[1],SImode,2);
+ operands[9] = simplify_gen_subreg(HImode,operands[1],SImode,4);
+ operands[10] = simplify_gen_subreg(HImode,operands[1],SImode,6);
+
+ operands[11] = simplify_gen_subreg(HImode,operands[2],SImode,0);
+ operands[12] = simplify_gen_subreg(HImode,operands[2],SImode,2);
+ operands[13] = simplify_gen_subreg(HImode,operands[2],SImode,4);
+ operands[14] = simplify_gen_subreg(HImode,operands[2],SImode,6);
+}"
+[(set_attr "cc" "none")])
+
;;|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
;; ior 1 byte
;; looks like a 'mov' insn
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click