This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[mep] fix CMOV vliw builtins


Committed.

	* config/mep/mep-ivc2.cpu (cmov, cmovc, cmovh): Add intrinsic names to VLIW variants.
	(ivc2rm, ivc2crn): Make data type consistent with non-VLIW variants.
	* config/mep/intrinsics.md: Regenerate.
	* config/mep/intrinsics.h: Regenerate.
	* config/mep/mep-intrin.h: Regenerate.

 
Index: config/mep/mep-ivc2.cpu
===================================================================
--- config/mep/mep-ivc2.cpu	(revision 149065)
+++ config/mep/mep-ivc2.cpu	(working copy)
@@ -311,14 +311,14 @@
 		    (set (ifield f-ivc2-ccrn-lo)  (and (ifield f-ivc2-crnx) #xf))))
   (extract (set (ifield f-ivc2-crnx)
 		(or (sll (ifield f-ivc2-ccrn-h1) 4)
 		    (ifield f-ivc2-ccrn-lo))))
   )
 
-(dnop ivc2rm   "reg Rm"                  (all-mep-isas (CDATA REGNUM)) h-gpr  f-ivc2-crm)
-(dnop ivc2crn  "copro Rn (0-31, 64-bit"  (all-mep-isas (CDATA REGNUM)) h-cr64 f-ivc2-crnx)
+(dnop ivc2rm   "reg Rm"                  (all-mep-isas) h-gpr  f-ivc2-crm)
+(dnop ivc2crn  "copro Rn (0-31, 64-bit"  (all-mep-isas (CDATA CP_DATA_BUS_INT)) h-cr64 f-ivc2-crnx)
 (dnop ivc2ccrn "copro control reg CCRn"  (all-mep-isas (CDATA REGNUM)) h-ccr-ivc2  f-ivc2-ccrn)
 (dnop ivc2c3ccrn "copro control reg CCRn"  (all-mep-isas (CDATA REGNUM)) h-ccr-ivc2  f-ivc2-ccrn-c3)
 
 ; [--][--] [--][--] [--][--] [--]
 ; 0----+-- --1----+ ----2--- -+--
 ; 01234567 89012345 67890123 4567
@@ -390,63 +390,63 @@
      ()
 )
 
 ; nnnnmmmm 11110000 0000N000 0000	cmov =crn,rm
 (dni cmov-crn-rm-p0
      "cmov CRn,Rm"
-     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0))
+     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0) (INTRINSIC "cmov1"))
      "cmov $ivc2crn,$ivc2rm"
      (+ ivc2crn ivc2rm (f-ivc2-cmov1 #xf00) (f-21 0) (f-ivc2-cmov2 #x00) (f-ivc2-cmov3 0))
      (set ivc2crn ivc2rm)
      ()
 )
 
 ; nnnnmmmm 11110000 0000N001 0000	cmov =rm,crn
 (dni cmov-rn-crm-p0
      "cmov Rm,CRn"
-     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0))
+     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0) (INTRINSIC "cmov2"))
      "cmov $ivc2rm,$ivc2crn"
      (+ ivc2crn ivc2rm (f-ivc2-cmov1 #xf00) (f-21 0) (f-ivc2-cmov2 #x10) (f-ivc2-cmov3 0))
      (set ivc2rm ivc2crn)
      ()
 )
 
 ; nnnnmmmm 11110000 0000NN10 0000	cmovc =ccrn,rm
 (dni cmovc-ccrn-rm-p0
      "cmovc CCRn,Rm"
-     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0))
+     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0) (INTRINSIC "cmovc1"))
      "cmovc $ivc2ccrn,$ivc2rm"
      (+ ivc2ccrn ivc2rm (f-ivc2-cmov1 #xf00) (f-ivc2-cmov2 #x20) (f-ivc2-cmov3 0))
      (set ivc2ccrn ivc2rm)
      ()
 )
 
 ; nnnnmmmm 11110000 0000NN11 0000	cmovc =rm,ccrn
 (dni cmovc-rn-ccrm-p0
      "cmovc Rm,CCRn"
-     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0))
+     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0) (INTRINSIC "cmovc2"))
      "cmovc $ivc2rm,$ivc2ccrn"
      (+ ivc2ccrn ivc2rm (f-ivc2-cmov1 #xf00) (f-ivc2-cmov2 #x30) (f-ivc2-cmov3 0))
      (set ivc2rm ivc2ccrn)
      ()
 )
 
 ; nnnnmmmm 11110001 0000N000 0000	cmovh =crn,rm		
 (dni cmovh-crn-rm-p0
      "cmovh CRn,Rm"
-     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0))
+     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0) (INTRINSIC "cmovh1"))
      "cmovh $ivc2crn,$ivc2rm"
      (+ ivc2crn ivc2rm (f-ivc2-cmov1 #xf10) (f-21 0) (f-ivc2-cmov2 #x00) (f-ivc2-cmov3 0))
      (set ivc2crn (or (sll (zext DI ivc2rm) 32) (and DI ivc2crn #xffffffff)))
      ()
 )
 
 ; nnnnmmmm 11110001 0000N001 0000	cmovh =rm,crn
 (dni cmovh-rn-crm-p0
      "cmovh Rm,CRn"
-     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0))
+     (OPTIONAL_CP_INSN ivc2-p0-isa (SLOTS P0) (INTRINSIC "cmovh2"))
      "cmovh $ivc2rm,$ivc2crn"
      (+ ivc2crn ivc2rm (f-ivc2-cmov1 #xf10) (f-21 0) (f-ivc2-cmov2 #x10) (f-ivc2-cmov3 0))
      (set ivc2rm (srl ivc2crn 32))
      ()
 )
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]