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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.