Convert the intrinsic function definitions to use llvm_i32_ty instead of

llvm_uint_ty or llvm_int_ty. Similarly for i8, i16 and i64


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32802 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer 2006-12-31 22:24:55 +00:00
parent 6359618e43
commit 90668345a1
3 changed files with 110 additions and 114 deletions

View File

@ -65,26 +65,22 @@ class LLVMPackedType<ValueType VT, int numelts, LLVMType elty>
def llvm_void_ty : LLVMType<isVoid, "Type::VoidTyID">;
def llvm_bool_ty : LLVMType<i1 , "Type::BoolTyID">;
def llvm_sbyte_ty : LLVMType<i8 , "Type::Int8TyID">;
def llvm_short_ty : LLVMType<i16, "Type::Int16TyID">;
def llvm_int_ty : LLVMType<i32, "Type::Int32TyID">;
def llvm_long_ty : LLVMType<i64, "Type::Int64TyID">;
def llvm_ubyte_ty : LLVMType<i8, "Type::Int8TyID">;
def llvm_ushort_ty : LLVMType<i16, "Type::Int16TyID">;
def llvm_uint_ty : LLVMType<i32, "Type::Int32TyID">;
def llvm_ulong_ty : LLVMType<i64, "Type::Int64TyID">;
def llvm_i8_ty : LLVMType<i8 , "Type::Int8TyID">;
def llvm_i16_ty : LLVMType<i16, "Type::Int16TyID">;
def llvm_i32_ty : LLVMType<i32, "Type::Int32TyID">;
def llvm_i64_ty : LLVMType<i64, "Type::Int64TyID">;
def llvm_float_ty : LLVMType<f32, "Type::FloatTyID">;
def llvm_double_ty : LLVMType<f64, "Type::DoubleTyID">;
def llvm_ptr_ty : LLVMType<iPTR, "Type::PointerTyID">; // sbyte*
def llvm_ptrptr_ty : LLVMType<iPTR, "Type::PointerTyID">; // sbyte**
def llvm_descriptor_ty : LLVMType<iPTR, "Type::PointerTyID">; // global*
def llvm_v16i8_ty : LLVMPackedType<v16i8,16, llvm_sbyte_ty>; // 16 x sbyte
def llvm_v8i16_ty : LLVMPackedType<v8i16, 8, llvm_short_ty>; // 8 x short
def llvm_v16i8_ty : LLVMPackedType<v16i8,16, llvm_i8_ty>; // 16 x sbyte
def llvm_v8i16_ty : LLVMPackedType<v8i16, 8, llvm_i16_ty>; // 8 x short
def llvm_v2i64_ty : LLVMPackedType<v2i64, 2, llvm_long_ty>; // 2 x long
def llvm_v2i32_ty : LLVMPackedType<v2i32, 2, llvm_int_ty>; // 2 x int
def llvm_v4i32_ty : LLVMPackedType<v4i32, 4, llvm_int_ty>; // 4 x int
def llvm_v2i64_ty : LLVMPackedType<v2i64, 2, llvm_i64_ty>; // 2 x long
def llvm_v2i32_ty : LLVMPackedType<v2i32, 2, llvm_i32_ty>; // 2 x int
def llvm_v4i32_ty : LLVMPackedType<v4i32, 4, llvm_i32_ty>; // 4 x int
def llvm_v4f32_ty : LLVMPackedType<v4f32, 4, llvm_float_ty>; // 4 x float
def llvm_v2f64_ty : LLVMPackedType<v2f64, 2, llvm_double_ty>; // 2 x double
@ -136,32 +132,32 @@ def int_gcwrite : Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_ptr_ty,
//===--------------------- Code Generator Intrinsics ----------------------===//
//
def int_returnaddress : Intrinsic<[llvm_ptr_ty, llvm_uint_ty], [IntrNoMem]>;
def int_frameaddress : Intrinsic<[llvm_ptr_ty, llvm_uint_ty], [IntrNoMem]>;
def int_returnaddress : Intrinsic<[llvm_ptr_ty, llvm_i32_ty], [IntrNoMem]>;
def int_frameaddress : Intrinsic<[llvm_ptr_ty, llvm_i32_ty], [IntrNoMem]>;
def int_stacksave : Intrinsic<[llvm_ptr_ty], [IntrReadMem]>;
def int_stackrestore : Intrinsic<[llvm_void_ty, llvm_ptr_ty]>;
def int_prefetch : Intrinsic<[llvm_void_ty, llvm_ptr_ty,
llvm_uint_ty, llvm_uint_ty]>;
def int_pcmarker : Intrinsic<[llvm_void_ty, llvm_uint_ty]>;
llvm_i32_ty, llvm_i32_ty]>;
def int_pcmarker : Intrinsic<[llvm_void_ty, llvm_i32_ty]>;
def int_readcyclecounter : Intrinsic<[llvm_ulong_ty]>;
def int_readcyclecounter : Intrinsic<[llvm_i64_ty]>;
//===------------------- Standard C Library Intrinsics --------------------===//
//
let Properties = [IntrWriteArgMem] in {
def int_memcpy_i32 : Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_ptr_ty,
llvm_uint_ty, llvm_uint_ty]>;
llvm_i32_ty, llvm_i32_ty]>;
def int_memcpy_i64 : Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_ptr_ty,
llvm_ulong_ty, llvm_uint_ty]>;
llvm_i64_ty, llvm_i32_ty]>;
def int_memmove_i32 : Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_ptr_ty,
llvm_uint_ty, llvm_uint_ty]>;
llvm_i32_ty, llvm_i32_ty]>;
def int_memmove_i64 : Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_ptr_ty,
llvm_ulong_ty, llvm_uint_ty]>;
def int_memset_i32 : Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_ubyte_ty,
llvm_uint_ty, llvm_uint_ty]>;
def int_memset_i64 : Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_ubyte_ty,
llvm_ulong_ty, llvm_uint_ty]>;
llvm_i64_ty, llvm_i32_ty]>;
def int_memset_i32 : Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_i8_ty,
llvm_i32_ty, llvm_i32_ty]>;
def int_memset_i64 : Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_i8_ty,
llvm_i64_ty, llvm_i32_ty]>;
}
let Properties = [IntrNoMem] in {
@ -172,46 +168,46 @@ let Properties = [IntrNoMem] in {
def int_sqrt_f32 : Intrinsic<[llvm_float_ty , llvm_float_ty]>;
def int_sqrt_f64 : Intrinsic<[llvm_double_ty, llvm_double_ty]>;
def int_powi_f32 : Intrinsic<[llvm_float_ty , llvm_float_ty, llvm_int_ty]>;
def int_powi_f64 : Intrinsic<[llvm_double_ty, llvm_double_ty, llvm_int_ty]>;
def int_powi_f32 : Intrinsic<[llvm_float_ty , llvm_float_ty, llvm_i32_ty]>;
def int_powi_f64 : Intrinsic<[llvm_double_ty, llvm_double_ty, llvm_i32_ty]>;
}
// NOTE: these are internal interfaces.
def int_setjmp : Intrinsic<[llvm_int_ty , llvm_ptr_ty]>;
def int_longjmp : Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_int_ty]>;
def int_sigsetjmp : Intrinsic<[llvm_int_ty , llvm_ptr_ty, llvm_int_ty]>;
def int_siglongjmp : Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_int_ty]>;
def int_setjmp : Intrinsic<[llvm_i32_ty , llvm_ptr_ty]>;
def int_longjmp : Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_i32_ty]>;
def int_sigsetjmp : Intrinsic<[llvm_i32_ty , llvm_ptr_ty, llvm_i32_ty]>;
def int_siglongjmp : Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_i32_ty]>;
//===-------------------- Bit Manipulation Intrinsics ---------------------===//
//
// None of these intrinsics accesses memory at all.
let Properties = [IntrNoMem] in {
def int_bswap_i16 : Intrinsic<[llvm_ushort_ty, llvm_ushort_ty]>;
def int_bswap_i32 : Intrinsic<[llvm_uint_ty, llvm_uint_ty]>;
def int_bswap_i64 : Intrinsic<[llvm_ulong_ty, llvm_ulong_ty]>;
def int_bswap_i16 : Intrinsic<[llvm_i16_ty, llvm_i16_ty]>;
def int_bswap_i32 : Intrinsic<[llvm_i32_ty, llvm_i32_ty]>;
def int_bswap_i64 : Intrinsic<[llvm_i64_ty, llvm_i64_ty]>;
def int_ctpop_i8 : Intrinsic<[llvm_ubyte_ty, llvm_ubyte_ty]>;
def int_ctpop_i16 : Intrinsic<[llvm_ushort_ty, llvm_ushort_ty]>;
def int_ctpop_i32 : Intrinsic<[llvm_uint_ty, llvm_uint_ty]>;
def int_ctpop_i64 : Intrinsic<[llvm_ulong_ty, llvm_ulong_ty]>;
def int_ctpop_i8 : Intrinsic<[llvm_i8_ty, llvm_i8_ty]>;
def int_ctpop_i16 : Intrinsic<[llvm_i16_ty, llvm_i16_ty]>;
def int_ctpop_i32 : Intrinsic<[llvm_i32_ty, llvm_i32_ty]>;
def int_ctpop_i64 : Intrinsic<[llvm_i64_ty, llvm_i64_ty]>;
def int_ctlz_i8 : Intrinsic<[llvm_ubyte_ty, llvm_ubyte_ty]>;
def int_ctlz_i16 : Intrinsic<[llvm_ushort_ty, llvm_ushort_ty]>;
def int_ctlz_i32 : Intrinsic<[llvm_uint_ty, llvm_uint_ty]>;
def int_ctlz_i64 : Intrinsic<[llvm_ulong_ty, llvm_ulong_ty]>;
def int_ctlz_i8 : Intrinsic<[llvm_i8_ty, llvm_i8_ty]>;
def int_ctlz_i16 : Intrinsic<[llvm_i16_ty, llvm_i16_ty]>;
def int_ctlz_i32 : Intrinsic<[llvm_i32_ty, llvm_i32_ty]>;
def int_ctlz_i64 : Intrinsic<[llvm_i64_ty, llvm_i64_ty]>;
def int_cttz_i8 : Intrinsic<[llvm_ubyte_ty, llvm_ubyte_ty]>;
def int_cttz_i16 : Intrinsic<[llvm_ushort_ty, llvm_ushort_ty]>;
def int_cttz_i32 : Intrinsic<[llvm_uint_ty, llvm_uint_ty]>;
def int_cttz_i64 : Intrinsic<[llvm_ulong_ty, llvm_ulong_ty]>;
def int_cttz_i8 : Intrinsic<[llvm_i8_ty, llvm_i8_ty]>;
def int_cttz_i16 : Intrinsic<[llvm_i16_ty, llvm_i16_ty]>;
def int_cttz_i32 : Intrinsic<[llvm_i32_ty, llvm_i32_ty]>;
def int_cttz_i64 : Intrinsic<[llvm_i64_ty, llvm_i64_ty]>;
}
//===------------------------ Debugger Intrinsics -------------------------===//
//
def int_dbg_stoppoint : Intrinsic<[llvm_void_ty,
llvm_uint_ty, llvm_uint_ty,
llvm_i32_ty, llvm_i32_ty,
llvm_descriptor_ty]>;
def int_dbg_region_start : Intrinsic<[llvm_void_ty, llvm_descriptor_ty]>;
def int_dbg_region_end : Intrinsic<[llvm_void_ty, llvm_descriptor_ty]>;

View File

@ -82,20 +82,20 @@ class PowerPC_Vec_WWW_Intrinsic<string GCCIntSuffix>
let TargetPrefix = "ppc" in { // All intrinsics start with "llvm.ppc.".
// Data Stream Control.
def int_ppc_altivec_dss : GCCBuiltin<"__builtin_altivec_dss">,
Intrinsic<[llvm_void_ty, llvm_int_ty], [IntrWriteMem]>;
Intrinsic<[llvm_void_ty, llvm_i32_ty], [IntrWriteMem]>;
def int_ppc_altivec_dssall : GCCBuiltin<"__builtin_altivec_dssall">,
Intrinsic<[llvm_void_ty], [IntrWriteMem]>;
def int_ppc_altivec_dst : GCCBuiltin<"__builtin_altivec_dst">,
Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_int_ty, llvm_int_ty],
Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_i32_ty, llvm_i32_ty],
[IntrWriteMem]>;
def int_ppc_altivec_dstt : GCCBuiltin<"__builtin_altivec_dstt">,
Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_int_ty, llvm_int_ty],
Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_i32_ty, llvm_i32_ty],
[IntrWriteMem]>;
def int_ppc_altivec_dstst : GCCBuiltin<"__builtin_altivec_dstst">,
Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_int_ty, llvm_int_ty],
Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_i32_ty, llvm_i32_ty],
[IntrWriteMem]>;
def int_ppc_altivec_dststt : GCCBuiltin<"__builtin_altivec_dststt">,
Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_int_ty, llvm_int_ty],
Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_i32_ty, llvm_i32_ty],
[IntrWriteMem]>;
// VSCR access.
@ -182,46 +182,46 @@ let TargetPrefix = "ppc" in { // All intrinsics start with "llvm.ppc.".
// Predicate Comparisons. The first operand specifies interpretation of CR6.
def int_ppc_altivec_vcmpbfp_p : GCCBuiltin<"__builtin_altivec_vcmpbfp_p">,
Intrinsic<[llvm_int_ty, llvm_int_ty, llvm_v4f32_ty,llvm_v4f32_ty],
Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_v4f32_ty,llvm_v4f32_ty],
[IntrNoMem]>;
def int_ppc_altivec_vcmpeqfp_p : GCCBuiltin<"__builtin_altivec_vcmpeqfp_p">,
Intrinsic<[llvm_int_ty, llvm_int_ty, llvm_v4f32_ty,llvm_v4f32_ty],
Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_v4f32_ty,llvm_v4f32_ty],
[IntrNoMem]>;
def int_ppc_altivec_vcmpgefp_p : GCCBuiltin<"__builtin_altivec_vcmpgefp_p">,
Intrinsic<[llvm_int_ty, llvm_int_ty, llvm_v4f32_ty,llvm_v4f32_ty],
Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_v4f32_ty,llvm_v4f32_ty],
[IntrNoMem]>;
def int_ppc_altivec_vcmpgtfp_p : GCCBuiltin<"__builtin_altivec_vcmpgtfp_p">,
Intrinsic<[llvm_int_ty, llvm_int_ty, llvm_v4f32_ty,llvm_v4f32_ty],
Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_v4f32_ty,llvm_v4f32_ty],
[IntrNoMem]>;
def int_ppc_altivec_vcmpequw_p : GCCBuiltin<"__builtin_altivec_vcmpequw_p">,
Intrinsic<[llvm_int_ty, llvm_int_ty, llvm_v4i32_ty,llvm_v4i32_ty],
Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_v4i32_ty,llvm_v4i32_ty],
[IntrNoMem]>;
def int_ppc_altivec_vcmpgtsw_p : GCCBuiltin<"__builtin_altivec_vcmpgtsw_p">,
Intrinsic<[llvm_int_ty, llvm_int_ty, llvm_v4i32_ty,llvm_v4i32_ty],
Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_v4i32_ty,llvm_v4i32_ty],
[IntrNoMem]>;
def int_ppc_altivec_vcmpgtuw_p : GCCBuiltin<"__builtin_altivec_vcmpgtuw_p">,
Intrinsic<[llvm_int_ty, llvm_int_ty, llvm_v4i32_ty,llvm_v4i32_ty],
Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_v4i32_ty,llvm_v4i32_ty],
[IntrNoMem]>;
def int_ppc_altivec_vcmpequh_p : GCCBuiltin<"__builtin_altivec_vcmpequh_p">,
Intrinsic<[llvm_int_ty, llvm_int_ty, llvm_v8i16_ty,llvm_v8i16_ty],
Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_v8i16_ty,llvm_v8i16_ty],
[IntrNoMem]>;
def int_ppc_altivec_vcmpgtsh_p : GCCBuiltin<"__builtin_altivec_vcmpgtsh_p">,
Intrinsic<[llvm_int_ty, llvm_int_ty, llvm_v8i16_ty,llvm_v8i16_ty],
Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_v8i16_ty,llvm_v8i16_ty],
[IntrNoMem]>;
def int_ppc_altivec_vcmpgtuh_p : GCCBuiltin<"__builtin_altivec_vcmpgtuh_p">,
Intrinsic<[llvm_int_ty, llvm_int_ty, llvm_v8i16_ty,llvm_v8i16_ty],
Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_v8i16_ty,llvm_v8i16_ty],
[IntrNoMem]>;
def int_ppc_altivec_vcmpequb_p : GCCBuiltin<"__builtin_altivec_vcmpequb_p">,
Intrinsic<[llvm_int_ty, llvm_int_ty, llvm_v16i8_ty,llvm_v16i8_ty],
Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_v16i8_ty,llvm_v16i8_ty],
[IntrNoMem]>;
def int_ppc_altivec_vcmpgtsb_p : GCCBuiltin<"__builtin_altivec_vcmpgtsb_p">,
Intrinsic<[llvm_int_ty, llvm_int_ty, llvm_v16i8_ty,llvm_v16i8_ty],
Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_v16i8_ty,llvm_v16i8_ty],
[IntrNoMem]>;
def int_ppc_altivec_vcmpgtub_p : GCCBuiltin<"__builtin_altivec_vcmpgtub_p">,
Intrinsic<[llvm_int_ty, llvm_int_ty, llvm_v16i8_ty,llvm_v16i8_ty],
Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_v16i8_ty,llvm_v16i8_ty],
[IntrNoMem]>;
}
@ -396,16 +396,16 @@ let TargetPrefix = "ppc" in { // All PPC intrinsics start with "llvm.ppc.".
// FP <-> integer conversion.
def int_ppc_altivec_vcfsx : GCCBuiltin<"__builtin_altivec_vcfsx">,
Intrinsic<[llvm_v4f32_ty, llvm_v4i32_ty, llvm_int_ty],
Intrinsic<[llvm_v4f32_ty, llvm_v4i32_ty, llvm_i32_ty],
[IntrNoMem]>;
def int_ppc_altivec_vcfux : GCCBuiltin<"__builtin_altivec_vcfux">,
Intrinsic<[llvm_v4f32_ty, llvm_v4i32_ty, llvm_int_ty],
Intrinsic<[llvm_v4f32_ty, llvm_v4i32_ty, llvm_i32_ty],
[IntrNoMem]>;
def int_ppc_altivec_vctsxs : GCCBuiltin<"__builtin_altivec_vctsxs">,
Intrinsic<[llvm_v4i32_ty, llvm_v4f32_ty, llvm_int_ty],
Intrinsic<[llvm_v4i32_ty, llvm_v4f32_ty, llvm_i32_ty],
[IntrNoMem]>;
def int_ppc_altivec_vctuxs : GCCBuiltin<"__builtin_altivec_vctuxs">,
Intrinsic<[llvm_v4i32_ty, llvm_v4f32_ty, llvm_int_ty],
Intrinsic<[llvm_v4i32_ty, llvm_v4f32_ty, llvm_i32_ty],
[IntrNoMem]>;
def int_ppc_altivec_vrfim : GCCBuiltin<"__builtin_altivec_vrfim">,

View File

@ -65,45 +65,45 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
def int_x86_sse_cmp_ss :
Intrinsic<[llvm_v4f32_ty, llvm_v4f32_ty,
llvm_v4f32_ty, llvm_sbyte_ty], [IntrNoMem]>;
llvm_v4f32_ty, llvm_i8_ty], [IntrNoMem]>;
def int_x86_sse_cmp_ps :
Intrinsic<[llvm_v4f32_ty, llvm_v4f32_ty,
llvm_v4f32_ty, llvm_sbyte_ty], [IntrNoMem]>;
llvm_v4f32_ty, llvm_i8_ty], [IntrNoMem]>;
def int_x86_sse_comieq_ss : GCCBuiltin<"__builtin_ia32_comieq">,
Intrinsic<[llvm_int_ty, llvm_v4f32_ty,
Intrinsic<[llvm_i32_ty, llvm_v4f32_ty,
llvm_v4f32_ty], [IntrNoMem]>;
def int_x86_sse_comilt_ss : GCCBuiltin<"__builtin_ia32_comilt">,
Intrinsic<[llvm_int_ty, llvm_v4f32_ty,
Intrinsic<[llvm_i32_ty, llvm_v4f32_ty,
llvm_v4f32_ty], [IntrNoMem]>;
def int_x86_sse_comile_ss : GCCBuiltin<"__builtin_ia32_comile">,
Intrinsic<[llvm_int_ty, llvm_v4f32_ty,
Intrinsic<[llvm_i32_ty, llvm_v4f32_ty,
llvm_v4f32_ty], [IntrNoMem]>;
def int_x86_sse_comigt_ss : GCCBuiltin<"__builtin_ia32_comigt">,
Intrinsic<[llvm_int_ty, llvm_v4f32_ty,
Intrinsic<[llvm_i32_ty, llvm_v4f32_ty,
llvm_v4f32_ty], [IntrNoMem]>;
def int_x86_sse_comige_ss : GCCBuiltin<"__builtin_ia32_comige">,
Intrinsic<[llvm_int_ty, llvm_v4f32_ty,
Intrinsic<[llvm_i32_ty, llvm_v4f32_ty,
llvm_v4f32_ty], [IntrNoMem]>;
def int_x86_sse_comineq_ss : GCCBuiltin<"__builtin_ia32_comineq">,
Intrinsic<[llvm_int_ty, llvm_v4f32_ty,
Intrinsic<[llvm_i32_ty, llvm_v4f32_ty,
llvm_v4f32_ty], [IntrNoMem]>;
def int_x86_sse_ucomieq_ss : GCCBuiltin<"__builtin_ia32_ucomieq">,
Intrinsic<[llvm_int_ty, llvm_v4f32_ty,
Intrinsic<[llvm_i32_ty, llvm_v4f32_ty,
llvm_v4f32_ty], [IntrNoMem]>;
def int_x86_sse_ucomilt_ss : GCCBuiltin<"__builtin_ia32_ucomilt">,
Intrinsic<[llvm_int_ty, llvm_v4f32_ty,
Intrinsic<[llvm_i32_ty, llvm_v4f32_ty,
llvm_v4f32_ty], [IntrNoMem]>;
def int_x86_sse_ucomile_ss : GCCBuiltin<"__builtin_ia32_ucomile">,
Intrinsic<[llvm_int_ty, llvm_v4f32_ty,
Intrinsic<[llvm_i32_ty, llvm_v4f32_ty,
llvm_v4f32_ty], [IntrNoMem]>;
def int_x86_sse_ucomigt_ss : GCCBuiltin<"__builtin_ia32_ucomigt">,
Intrinsic<[llvm_int_ty, llvm_v4f32_ty,
Intrinsic<[llvm_i32_ty, llvm_v4f32_ty,
llvm_v4f32_ty], [IntrNoMem]>;
def int_x86_sse_ucomige_ss : GCCBuiltin<"__builtin_ia32_ucomige">,
Intrinsic<[llvm_int_ty, llvm_v4f32_ty,
Intrinsic<[llvm_i32_ty, llvm_v4f32_ty,
llvm_v4f32_ty], [IntrNoMem]>;
def int_x86_sse_ucomineq_ss : GCCBuiltin<"__builtin_ia32_ucomineq">,
Intrinsic<[llvm_int_ty, llvm_v4f32_ty,
Intrinsic<[llvm_i32_ty, llvm_v4f32_ty,
llvm_v4f32_ty], [IntrNoMem]>;
}
@ -111,12 +111,12 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
// Conversion ops
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
def int_x86_sse_cvtss2si : GCCBuiltin<"__builtin_ia32_cvtss2si">,
Intrinsic<[llvm_int_ty, llvm_v4f32_ty], [IntrNoMem]>;
Intrinsic<[llvm_i32_ty, llvm_v4f32_ty], [IntrNoMem]>;
def int_x86_sse_cvttss2si : GCCBuiltin<"__builtin_ia32_cvttss2si">,
Intrinsic<[llvm_int_ty, llvm_v4f32_ty], [IntrNoMem]>;
Intrinsic<[llvm_i32_ty, llvm_v4f32_ty], [IntrNoMem]>;
def int_x86_sse_cvtsi2ss : GCCBuiltin<"__builtin_ia32_cvtsi2ss">,
Intrinsic<[llvm_v4f32_ty, llvm_v4f32_ty,
llvm_int_ty], [IntrNoMem]>;
llvm_i32_ty], [IntrNoMem]>;
}
// SIMD load ops
@ -152,7 +152,7 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
// Misc.
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
def int_x86_sse_movmsk_ps : GCCBuiltin<"__builtin_ia32_movmskps">,
Intrinsic<[llvm_int_ty, llvm_v4f32_ty], [IntrNoMem]>;
Intrinsic<[llvm_i32_ty, llvm_v4f32_ty], [IntrNoMem]>;
}
//===----------------------------------------------------------------------===//
@ -208,45 +208,45 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
def int_x86_sse2_cmp_sd :
Intrinsic<[llvm_v2f64_ty, llvm_v2f64_ty,
llvm_v2f64_ty, llvm_sbyte_ty], [IntrNoMem]>;
llvm_v2f64_ty, llvm_i8_ty], [IntrNoMem]>;
def int_x86_sse2_cmp_pd :
Intrinsic<[llvm_v2f64_ty, llvm_v2f64_ty,
llvm_v2f64_ty, llvm_sbyte_ty], [IntrNoMem]>;
llvm_v2f64_ty, llvm_i8_ty], [IntrNoMem]>;
def int_x86_sse2_comieq_sd : GCCBuiltin<"__builtin_ia32_comisdeq">,
Intrinsic<[llvm_int_ty, llvm_v2f64_ty,
Intrinsic<[llvm_i32_ty, llvm_v2f64_ty,
llvm_v2f64_ty], [IntrNoMem]>;
def int_x86_sse2_comilt_sd : GCCBuiltin<"__builtin_ia32_comisdlt">,
Intrinsic<[llvm_int_ty, llvm_v2f64_ty,
Intrinsic<[llvm_i32_ty, llvm_v2f64_ty,
llvm_v2f64_ty], [IntrNoMem]>;
def int_x86_sse2_comile_sd : GCCBuiltin<"__builtin_ia32_comisdle">,
Intrinsic<[llvm_int_ty, llvm_v2f64_ty,
Intrinsic<[llvm_i32_ty, llvm_v2f64_ty,
llvm_v2f64_ty], [IntrNoMem]>;
def int_x86_sse2_comigt_sd : GCCBuiltin<"__builtin_ia32_comisdgt">,
Intrinsic<[llvm_int_ty, llvm_v2f64_ty,
Intrinsic<[llvm_i32_ty, llvm_v2f64_ty,
llvm_v2f64_ty], [IntrNoMem]>;
def int_x86_sse2_comige_sd : GCCBuiltin<"__builtin_ia32_comisdge">,
Intrinsic<[llvm_int_ty, llvm_v2f64_ty,
Intrinsic<[llvm_i32_ty, llvm_v2f64_ty,
llvm_v2f64_ty], [IntrNoMem]>;
def int_x86_sse2_comineq_sd : GCCBuiltin<"__builtin_ia32_comisdneq">,
Intrinsic<[llvm_int_ty, llvm_v2f64_ty,
Intrinsic<[llvm_i32_ty, llvm_v2f64_ty,
llvm_v2f64_ty], [IntrNoMem]>;
def int_x86_sse2_ucomieq_sd : GCCBuiltin<"__builtin_ia32_ucomisdeq">,
Intrinsic<[llvm_int_ty, llvm_v2f64_ty,
Intrinsic<[llvm_i32_ty, llvm_v2f64_ty,
llvm_v2f64_ty], [IntrNoMem]>;
def int_x86_sse2_ucomilt_sd : GCCBuiltin<"__builtin_ia32_ucomisdlt">,
Intrinsic<[llvm_int_ty, llvm_v2f64_ty,
Intrinsic<[llvm_i32_ty, llvm_v2f64_ty,
llvm_v2f64_ty], [IntrNoMem]>;
def int_x86_sse2_ucomile_sd : GCCBuiltin<"__builtin_ia32_ucomisdle">,
Intrinsic<[llvm_int_ty, llvm_v2f64_ty,
Intrinsic<[llvm_i32_ty, llvm_v2f64_ty,
llvm_v2f64_ty], [IntrNoMem]>;
def int_x86_sse2_ucomigt_sd : GCCBuiltin<"__builtin_ia32_ucomisdgt">,
Intrinsic<[llvm_int_ty, llvm_v2f64_ty,
Intrinsic<[llvm_i32_ty, llvm_v2f64_ty,
llvm_v2f64_ty], [IntrNoMem]>;
def int_x86_sse2_ucomige_sd : GCCBuiltin<"__builtin_ia32_ucomisdge">,
Intrinsic<[llvm_int_ty, llvm_v2f64_ty,
Intrinsic<[llvm_i32_ty, llvm_v2f64_ty,
llvm_v2f64_ty], [IntrNoMem]>;
def int_x86_sse2_ucomineq_sd : GCCBuiltin<"__builtin_ia32_ucomisdneq">,
Intrinsic<[llvm_int_ty, llvm_v2f64_ty,
Intrinsic<[llvm_i32_ty, llvm_v2f64_ty,
llvm_v2f64_ty], [IntrNoMem]>;
}
@ -324,7 +324,7 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
llvm_v4i32_ty], [IntrNoMem]>;
def int_x86_sse2_psll_dq : GCCBuiltin<"__builtin_ia32_pslldqi128">,
Intrinsic<[llvm_v2i64_ty, llvm_v2i64_ty,
llvm_int_ty], [IntrNoMem]>;
llvm_i32_ty], [IntrNoMem]>;
def int_x86_sse2_psrl_w :
Intrinsic<[llvm_v8i16_ty, llvm_v8i16_ty,
llvm_v4i32_ty], [IntrNoMem]>;
@ -336,7 +336,7 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
llvm_v4i32_ty], [IntrNoMem]>;
def int_x86_sse2_psrl_dq : GCCBuiltin<"__builtin_ia32_psrldqi128">,
Intrinsic<[llvm_v2i64_ty, llvm_v2i64_ty,
llvm_int_ty], [IntrNoMem]>;
llvm_i32_ty], [IntrNoMem]>;
def int_x86_sse2_psra_w :
Intrinsic<[llvm_v8i16_ty, llvm_v8i16_ty,
llvm_v4i32_ty], [IntrNoMem]>;
@ -386,12 +386,12 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
def int_x86_sse2_cvtps2pd : GCCBuiltin<"__builtin_ia32_cvtps2pd">,
Intrinsic<[llvm_v2f64_ty, llvm_v4f32_ty], [IntrNoMem]>;
def int_x86_sse2_cvtsd2si : GCCBuiltin<"__builtin_ia32_cvtsd2si">,
Intrinsic<[llvm_int_ty, llvm_v2f64_ty], [IntrNoMem]>;
Intrinsic<[llvm_i32_ty, llvm_v2f64_ty], [IntrNoMem]>;
def int_x86_sse2_cvttsd2si : GCCBuiltin<"__builtin_ia32_cvttsd2si">,
Intrinsic<[llvm_int_ty, llvm_v2f64_ty], [IntrNoMem]>;
Intrinsic<[llvm_i32_ty, llvm_v2f64_ty], [IntrNoMem]>;
def int_x86_sse2_cvtsi2sd : GCCBuiltin<"__builtin_ia32_cvtsi2sd">,
Intrinsic<[llvm_v2f64_ty, llvm_v2f64_ty,
llvm_int_ty], [IntrNoMem]>;
llvm_i32_ty], [IntrNoMem]>;
def int_x86_sse2_cvtsd2ss : GCCBuiltin<"__builtin_ia32_cvtsd2ss">,
Intrinsic<[llvm_v4f32_ty, llvm_v4f32_ty,
llvm_v2f64_ty], [IntrNoMem]>;
@ -431,7 +431,7 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
llvm_v2f64_ty], [IntrWriteMem]>;
def int_x86_sse2_movnt_i : GCCBuiltin<"__builtin_ia32_movnti">,
Intrinsic<[llvm_void_ty, llvm_ptr_ty,
llvm_int_ty], [IntrWriteMem]>;
llvm_i32_ty], [IntrWriteMem]>;
}
// Misc.
@ -448,9 +448,9 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
def int_x86_sse2_movl_dq : GCCBuiltin<"__builtin_ia32_movqv4si">,
Intrinsic<[llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>;
def int_x86_sse2_movmsk_pd : GCCBuiltin<"__builtin_ia32_movmskpd">,
Intrinsic<[llvm_int_ty, llvm_v2f64_ty], [IntrNoMem]>;
Intrinsic<[llvm_i32_ty, llvm_v2f64_ty], [IntrNoMem]>;
def int_x86_sse2_pmovmskb_128 : GCCBuiltin<"__builtin_ia32_pmovmskb128">,
Intrinsic<[llvm_int_ty, llvm_v16i8_ty], [IntrNoMem]>;
Intrinsic<[llvm_i32_ty, llvm_v16i8_ty], [IntrNoMem]>;
def int_x86_sse2_maskmov_dqu : GCCBuiltin<"__builtin_ia32_maskmovdqu">,
Intrinsic<[llvm_void_ty, llvm_v16i8_ty,
llvm_v16i8_ty, llvm_ptr_ty], [IntrWriteMem]>;
@ -476,7 +476,7 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
llvm_ptr_ty], [IntrReadMem]>;
def int_x86_sse2_shuf_pd : GCCBuiltin<"__builtin_ia32_shufpd">,
Intrinsic<[llvm_v2f64_ty, llvm_v2f64_ty,
llvm_v2f64_ty, llvm_int_ty], [IntrNoMem]>;
llvm_v2f64_ty, llvm_i32_ty], [IntrNoMem]>;
def int_x86_sse2_unpckh_pd : GCCBuiltin<"__builtin_ia32_unpckhpd">,
Intrinsic<[llvm_v2f64_ty, llvm_v2f64_ty,
llvm_v2f64_ty], [IntrNoMem]>;
@ -530,8 +530,8 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
def int_x86_sse3_monitor : GCCBuiltin<"__builtin_ia32_monitor">,
Intrinsic<[llvm_void_ty, llvm_ptr_ty,
llvm_uint_ty, llvm_uint_ty], [IntrWriteMem]>;
llvm_i32_ty, llvm_i32_ty], [IntrWriteMem]>;
def int_x86_sse3_mwait : GCCBuiltin<"__builtin_ia32_mwait">,
Intrinsic<[llvm_void_ty, llvm_uint_ty,
llvm_uint_ty], [IntrWriteMem]>;
Intrinsic<[llvm_void_ty, llvm_i32_ty,
llvm_i32_ty], [IntrWriteMem]>;
}