diff options
author | Craig Topper <craig.topper@intel.com> | 2019-05-11 16:00:13 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2019-05-11 16:00:13 +0000 |
commit | 26f2b13a65974f2f807c04c81adc166270c4b5dc (patch) | |
tree | eaa9ce3c747bc0a090942aac95fbedb0c603e0ad /llvm/lib/Target/X86/X86FastISel.cpp | |
parent | 8039e838c67725cb10e4fd55169d5867d2fd6b31 (diff) | |
download | bcm5719-llvm-26f2b13a65974f2f807c04c81adc166270c4b5dc.tar.gz bcm5719-llvm-26f2b13a65974f2f807c04c81adc166270c4b5dc.zip |
[X86] Use TLI.getRegClassFor to simplify some more fast isel code. NFCI
llvm-svn: 360522
Diffstat (limited to 'llvm/lib/Target/X86/X86FastISel.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86FastISel.cpp | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/llvm/lib/Target/X86/X86FastISel.cpp b/llvm/lib/Target/X86/X86FastISel.cpp index 1af68065c9e..cecd4d725d2 100644 --- a/llvm/lib/Target/X86/X86FastISel.cpp +++ b/llvm/lib/Target/X86/X86FastISel.cpp @@ -2498,8 +2498,7 @@ bool X86FastISel::X86SelectFPExt(const Instruction *I) { unsigned Opc = HasAVX512 ? X86::VCVTSS2SDZrr : Subtarget->hasAVX() ? X86::VCVTSS2SDrr : X86::CVTSS2SDrr; - return X86SelectFPExtOrFPTrunc( - I, Opc, HasAVX512 ? &X86::FR64XRegClass : &X86::FR64RegClass); + return X86SelectFPExtOrFPTrunc(I, Opc, TLI.getRegClassFor(MVT::f64)); } return false; @@ -2513,8 +2512,7 @@ bool X86FastISel::X86SelectFPTrunc(const Instruction *I) { unsigned Opc = HasAVX512 ? X86::VCVTSD2SSZrr : Subtarget->hasAVX() ? X86::VCVTSD2SSrr : X86::CVTSD2SSrr; - return X86SelectFPExtOrFPTrunc( - I, Opc, HasAVX512 ? &X86::FR32XRegClass : &X86::FR32RegClass); + return X86SelectFPExtOrFPTrunc(I, Opc, TLI.getRegClassFor(MVT::f32)); } return false; @@ -3887,33 +3885,26 @@ unsigned X86FastISel::fastMaterializeFloatZero(const ConstantFP *CF) { // Get opcode and regclass for the given zero. bool HasAVX512 = Subtarget->hasAVX512(); unsigned Opc = 0; - const TargetRegisterClass *RC = nullptr; switch (VT.SimpleTy) { default: return 0; case MVT::f32: - if (X86ScalarSSEf32) { + if (X86ScalarSSEf32) Opc = HasAVX512 ? X86::AVX512_FsFLD0SS : X86::FsFLD0SS; - RC = HasAVX512 ? &X86::FR32XRegClass : &X86::FR32RegClass; - } else { + else Opc = X86::LD_Fp032; - RC = &X86::RFP32RegClass; - } break; case MVT::f64: - if (X86ScalarSSEf64) { + if (X86ScalarSSEf64) Opc = HasAVX512 ? X86::AVX512_FsFLD0SD : X86::FsFLD0SD; - RC = HasAVX512 ? &X86::FR64XRegClass : &X86::FR64RegClass; - } else { + else Opc = X86::LD_Fp064; - RC = &X86::RFP64RegClass; - } break; case MVT::f80: // No f80 support yet. return 0; } - unsigned ResultReg = createResultReg(RC); + unsigned ResultReg = createResultReg(TLI.getRegClassFor(VT)); BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, TII.get(Opc), ResultReg); return ResultReg; } |