mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-28 22:43:29 +00:00
Add FP -> Int Conversions
llvm-svn: 27417
This commit is contained in:
parent
6cf881590f
commit
ab137b431f
@ -350,13 +350,19 @@ let TargetPrefix = "ppc" in { // All PPC intrinsics start with "llvm.ppc.".
|
||||
Intrinsic<[llvm_v4i32_ty, llvm_v8i16_ty], [InstrNoMem]>;
|
||||
|
||||
|
||||
// FP to integer conversion.
|
||||
// FP <-> integer conversion.
|
||||
def int_ppc_altivec_vcfsx : GCCBuiltin<"__builtin_altivec_vcfsx">,
|
||||
Intrinsic<[llvm_v4f32_ty, llvm_v4i32_ty, llvm_int_ty],
|
||||
[InstrNoMem]>;
|
||||
def int_ppc_altivec_vcfux : GCCBuiltin<"__builtin_altivec_vcfux">,
|
||||
Intrinsic<[llvm_v4f32_ty, llvm_v4i32_ty, llvm_int_ty],
|
||||
[InstrNoMem]>;
|
||||
def int_ppc_altivec_vctsxs : GCCBuiltin<"__builtin_altivec_vctsxs">,
|
||||
Intrinsic<[llvm_v4i32_ty, llvm_v4f32_ty, llvm_int_ty],
|
||||
[InstrNoMem]>;
|
||||
def int_ppc_altivec_vctuxs : GCCBuiltin<"__builtin_altivec_vctuxs">,
|
||||
Intrinsic<[llvm_v4i32_ty, llvm_v4f32_ty, llvm_int_ty],
|
||||
[InstrNoMem]>;
|
||||
|
||||
def int_ppc_altivec_vrfim : GCCBuiltin<"__builtin_altivec_vrfim">,
|
||||
Intrinsic<[llvm_v4f32_ty, llvm_v4f32_ty], [InstrNoMem]>;
|
||||
|
@ -202,10 +202,12 @@ def VCFUX : VXForm_1<778, (ops VRRC:$vD, u5imm:$UIMM, VRRC:$vB),
|
||||
(int_ppc_altivec_vcfux VRRC:$vB, imm:$UIMM))]>;
|
||||
def VCTSXS : VXForm_1<970, (ops VRRC:$vD, u5imm:$UIMM, VRRC:$vB),
|
||||
"vctsxs $vD, $vB, $UIMM", VecFP,
|
||||
[]>;
|
||||
[(set VRRC:$vD,
|
||||
(int_ppc_altivec_vctsxs VRRC:$vB, imm:$UIMM))]>;
|
||||
def VCTUXS : VXForm_1<906, (ops VRRC:$vD, u5imm:$UIMM, VRRC:$vB),
|
||||
"vctuxs $vD, $vB, $UIMM", VecFP,
|
||||
[]>;
|
||||
[(set VRRC:$vD,
|
||||
(int_ppc_altivec_vctuxs VRRC:$vB, imm:$UIMM))]>;
|
||||
def VEXPTEFP : VX2_Int<394, "vexptefp", int_ppc_altivec_vexptefp>;
|
||||
def VLOGEFP : VX2_Int<458, "vlogefp", int_ppc_altivec_vlogefp>;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user