mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	PPC: Do not introduce ISD nodes for fctid and fctiw
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191421 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
		@@ -42,10 +42,10 @@ namespace llvm {
 | 
				
			|||||||
      /// unsigned integers and single-precision outputs.
 | 
					      /// unsigned integers and single-precision outputs.
 | 
				
			||||||
      FCFIDU, FCFIDS, FCFIDUS,
 | 
					      FCFIDU, FCFIDS, FCFIDUS,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      /// FCTI[D,W]Z? - The FCTID, FCTIDZ, FCTIW and FCTIWZ instructions,
 | 
					      /// FCTI[D,W]Z - The FCTIDZ and FCTIWZ instructions, taking an f32 or f64
 | 
				
			||||||
      /// taking an f32 or f64 operand, producing an f64 value containing the
 | 
					      /// operand, producing an f64 value containing the integer representation
 | 
				
			||||||
      /// integer representation of that FP value.
 | 
					      /// of that FP value.
 | 
				
			||||||
      FCTID, FCTIDZ, FCTIW, FCTIWZ,
 | 
					      FCTIDZ, FCTIWZ,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      /// Newer FCTI[D,W]UZ floating-point-to-integer conversion instructions for
 | 
					      /// Newer FCTI[D,W]UZ floating-point-to-integer conversion instructions for
 | 
				
			||||||
      /// unsigned integers.
 | 
					      /// unsigned integers.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -970,7 +970,7 @@ defm FCFID  : XForm_26r<63, 846, (outs f8rc:$frD), (ins f8rc:$frB),
 | 
				
			|||||||
                        [(set f64:$frD, (PPCfcfid f64:$frB))]>, isPPC64;
 | 
					                        [(set f64:$frD, (PPCfcfid f64:$frB))]>, isPPC64;
 | 
				
			||||||
defm FCTID  : XForm_26r<63, 814, (outs f8rc:$frD), (ins f8rc:$frB),
 | 
					defm FCTID  : XForm_26r<63, 814, (outs f8rc:$frD), (ins f8rc:$frB),
 | 
				
			||||||
                        "fctid", "$frD, $frB", FPGeneral,
 | 
					                        "fctid", "$frD, $frB", FPGeneral,
 | 
				
			||||||
                        [(set f64:$frD, (PPCfctid f64:$frB))]>, isPPC64;
 | 
					                        []>, isPPC64;
 | 
				
			||||||
defm FCTIDZ : XForm_26r<63, 815, (outs f8rc:$frD), (ins f8rc:$frB),
 | 
					defm FCTIDZ : XForm_26r<63, 815, (outs f8rc:$frD), (ins f8rc:$frB),
 | 
				
			||||||
                        "fctidz", "$frD, $frB", FPGeneral,
 | 
					                        "fctidz", "$frD, $frB", FPGeneral,
 | 
				
			||||||
                        [(set f64:$frD, (PPCfctidz f64:$frB))]>, isPPC64;
 | 
					                        [(set f64:$frD, (PPCfctidz f64:$frB))]>, isPPC64;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -69,9 +69,7 @@ def PPCfcfid  : SDNode<"PPCISD::FCFID",   SDTFPUnaryOp, []>;
 | 
				
			|||||||
def PPCfcfidu : SDNode<"PPCISD::FCFIDU",  SDTFPUnaryOp, []>;
 | 
					def PPCfcfidu : SDNode<"PPCISD::FCFIDU",  SDTFPUnaryOp, []>;
 | 
				
			||||||
def PPCfcfids : SDNode<"PPCISD::FCFIDS",  SDTFPRoundOp, []>;
 | 
					def PPCfcfids : SDNode<"PPCISD::FCFIDS",  SDTFPRoundOp, []>;
 | 
				
			||||||
def PPCfcfidus: SDNode<"PPCISD::FCFIDUS", SDTFPRoundOp, []>;
 | 
					def PPCfcfidus: SDNode<"PPCISD::FCFIDUS", SDTFPRoundOp, []>;
 | 
				
			||||||
def PPCfctid  : SDNode<"PPCISD::FCTID",  SDTFPUnaryOp, []>;
 | 
					 | 
				
			||||||
def PPCfctidz : SDNode<"PPCISD::FCTIDZ", SDTFPUnaryOp, []>;
 | 
					def PPCfctidz : SDNode<"PPCISD::FCTIDZ", SDTFPUnaryOp, []>;
 | 
				
			||||||
def PPCfctiw  : SDNode<"PPCISD::FCTIW",  SDTFPUnaryOp, []>;
 | 
					 | 
				
			||||||
def PPCfctiwz : SDNode<"PPCISD::FCTIWZ", SDTFPUnaryOp, []>;
 | 
					def PPCfctiwz : SDNode<"PPCISD::FCTIWZ", SDTFPUnaryOp, []>;
 | 
				
			||||||
def PPCfctiduz: SDNode<"PPCISD::FCTIDUZ",SDTFPUnaryOp, []>;
 | 
					def PPCfctiduz: SDNode<"PPCISD::FCTIDUZ",SDTFPUnaryOp, []>;
 | 
				
			||||||
def PPCfctiwuz: SDNode<"PPCISD::FCTIWUZ",SDTFPUnaryOp, []>;
 | 
					def PPCfctiwuz: SDNode<"PPCISD::FCTIWUZ",SDTFPUnaryOp, []>;
 | 
				
			||||||
@@ -1696,7 +1694,7 @@ let Uses = [RM] in {
 | 
				
			|||||||
  let neverHasSideEffects = 1 in {
 | 
					  let neverHasSideEffects = 1 in {
 | 
				
			||||||
  defm FCTIW  : XForm_26r<63, 14, (outs f8rc:$frD), (ins f8rc:$frB),
 | 
					  defm FCTIW  : XForm_26r<63, 14, (outs f8rc:$frD), (ins f8rc:$frB),
 | 
				
			||||||
                          "fctiw", "$frD, $frB", FPGeneral,
 | 
					                          "fctiw", "$frD, $frB", FPGeneral,
 | 
				
			||||||
                          [(set f64:$frD, (PPCfctiw f64:$frB))]>;
 | 
					                          []>;
 | 
				
			||||||
  defm FCTIWZ : XForm_26r<63, 15, (outs f8rc:$frD), (ins f8rc:$frB),
 | 
					  defm FCTIWZ : XForm_26r<63, 15, (outs f8rc:$frD), (ins f8rc:$frB),
 | 
				
			||||||
                          "fctiwz", "$frD, $frB", FPGeneral,
 | 
					                          "fctiwz", "$frD, $frB", FPGeneral,
 | 
				
			||||||
                          [(set f64:$frD, (PPCfctiwz f64:$frB))]>;
 | 
					                          [(set f64:$frD, (PPCfctiwz f64:$frB))]>;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user