|
@@ -262,59 +262,59 @@ def int_arm_vcvtru : Intrinsic<[llvm_float_ty], [llvm_anyfloat_ty],
|
|
// Coprocessor
|
|
// Coprocessor
|
|
|
|
|
|
def int_arm_ldc : GCCBuiltin<"__builtin_arm_ldc">,
|
|
def int_arm_ldc : GCCBuiltin<"__builtin_arm_ldc">,
|
|
- Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], []>;
|
|
|
|
|
|
+ Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], [ImmArg<0>, ImmArg<1>]>;
|
|
def int_arm_ldcl : GCCBuiltin<"__builtin_arm_ldcl">,
|
|
def int_arm_ldcl : GCCBuiltin<"__builtin_arm_ldcl">,
|
|
- Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], []>;
|
|
|
|
|
|
+ Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], [ImmArg<0>, ImmArg<1>]>;
|
|
def int_arm_ldc2 : GCCBuiltin<"__builtin_arm_ldc2">,
|
|
def int_arm_ldc2 : GCCBuiltin<"__builtin_arm_ldc2">,
|
|
- Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], []>;
|
|
|
|
|
|
+ Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], [ImmArg<0>, ImmArg<1>]>;
|
|
def int_arm_ldc2l : GCCBuiltin<"__builtin_arm_ldc2l">,
|
|
def int_arm_ldc2l : GCCBuiltin<"__builtin_arm_ldc2l">,
|
|
- Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], []>;
|
|
|
|
|
|
+ Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], [ImmArg<0>, ImmArg<1>]>;
|
|
|
|
|
|
def int_arm_stc : GCCBuiltin<"__builtin_arm_stc">,
|
|
def int_arm_stc : GCCBuiltin<"__builtin_arm_stc">,
|
|
- Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], []>;
|
|
|
|
|
|
+ Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], [ImmArg<0>, ImmArg<1>]>;
|
|
def int_arm_stcl : GCCBuiltin<"__builtin_arm_stcl">,
|
|
def int_arm_stcl : GCCBuiltin<"__builtin_arm_stcl">,
|
|
- Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], []>;
|
|
|
|
|
|
+ Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], [ImmArg<0>, ImmArg<1>]>;
|
|
def int_arm_stc2 : GCCBuiltin<"__builtin_arm_stc2">,
|
|
def int_arm_stc2 : GCCBuiltin<"__builtin_arm_stc2">,
|
|
- Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], []>;
|
|
|
|
|
|
+ Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], [ImmArg<0>, ImmArg<1>]>;
|
|
def int_arm_stc2l : GCCBuiltin<"__builtin_arm_stc2l">,
|
|
def int_arm_stc2l : GCCBuiltin<"__builtin_arm_stc2l">,
|
|
- Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], []>;
|
|
|
|
|
|
+ Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], [ImmArg<0>, ImmArg<1>]>;
|
|
|
|
|
|
// Move to coprocessor
|
|
// Move to coprocessor
|
|
def int_arm_mcr : GCCBuiltin<"__builtin_arm_mcr">,
|
|
def int_arm_mcr : GCCBuiltin<"__builtin_arm_mcr">,
|
|
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
|
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
|
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
|
|
|
|
|
|
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [ImmArg<0>, ImmArg<1>, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
|
|
def int_arm_mcr2 : GCCBuiltin<"__builtin_arm_mcr2">,
|
|
def int_arm_mcr2 : GCCBuiltin<"__builtin_arm_mcr2">,
|
|
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
|
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
|
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
|
|
|
|
|
|
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [ImmArg<0>, ImmArg<1>, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
|
|
|
|
|
|
// Move from coprocessor
|
|
// Move from coprocessor
|
|
def int_arm_mrc : GCCBuiltin<"__builtin_arm_mrc">,
|
|
def int_arm_mrc : GCCBuiltin<"__builtin_arm_mrc">,
|
|
MSBuiltin<"_MoveFromCoprocessor">,
|
|
MSBuiltin<"_MoveFromCoprocessor">,
|
|
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
|
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
|
- llvm_i32_ty, llvm_i32_ty], []>;
|
|
|
|
|
|
+ llvm_i32_ty, llvm_i32_ty], [ImmArg<0>, ImmArg<1>, ImmArg<2>, ImmArg<3>, ImmArg<4>]>;
|
|
def int_arm_mrc2 : GCCBuiltin<"__builtin_arm_mrc2">,
|
|
def int_arm_mrc2 : GCCBuiltin<"__builtin_arm_mrc2">,
|
|
MSBuiltin<"_MoveFromCoprocessor2">,
|
|
MSBuiltin<"_MoveFromCoprocessor2">,
|
|
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
|
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
|
- llvm_i32_ty, llvm_i32_ty], []>;
|
|
|
|
|
|
+ llvm_i32_ty, llvm_i32_ty], [ImmArg<0>, ImmArg<1>, ImmArg<2>, ImmArg<3>, ImmArg<4>]>;
|
|
|
|
|
|
// Coprocessor data processing
|
|
// Coprocessor data processing
|
|
def int_arm_cdp : GCCBuiltin<"__builtin_arm_cdp">,
|
|
def int_arm_cdp : GCCBuiltin<"__builtin_arm_cdp">,
|
|
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
|
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
|
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
|
|
|
|
|
|
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [ImmArg<0>, ImmArg<1>, ImmArg<2>, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
|
|
def int_arm_cdp2 : GCCBuiltin<"__builtin_arm_cdp2">,
|
|
def int_arm_cdp2 : GCCBuiltin<"__builtin_arm_cdp2">,
|
|
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
|
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
|
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
|
|
|
|
|
|
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [ImmArg<0>, ImmArg<1>, ImmArg<2>, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
|
|
|
|
|
|
// Move from two registers to coprocessor
|
|
// Move from two registers to coprocessor
|
|
def int_arm_mcrr : Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
|
def int_arm_mcrr : Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
|
- llvm_i32_ty, llvm_i32_ty], []>;
|
|
|
|
|
|
+ llvm_i32_ty, llvm_i32_ty], [ImmArg<0>, ImmArg<1>, ImmArg<4>]>;
|
|
def int_arm_mcrr2 : Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
|
def int_arm_mcrr2 : Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
|
- llvm_i32_ty, llvm_i32_ty], []>;
|
|
|
|
|
|
+ llvm_i32_ty, llvm_i32_ty], [ImmArg<0>, ImmArg<1>, ImmArg<4>]>;
|
|
|
|
|
|
def int_arm_mrrc : Intrinsic<[llvm_i32_ty, llvm_i32_ty], [llvm_i32_ty,
|
|
def int_arm_mrrc : Intrinsic<[llvm_i32_ty, llvm_i32_ty], [llvm_i32_ty,
|
|
- llvm_i32_ty, llvm_i32_ty], []>;
|
|
|
|
|
|
+ llvm_i32_ty, llvm_i32_ty], [ImmArg<0>, ImmArg<1>, ImmArg<2>]>;
|
|
def int_arm_mrrc2 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], [llvm_i32_ty,
|
|
def int_arm_mrrc2 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], [llvm_i32_ty,
|
|
- llvm_i32_ty, llvm_i32_ty], []>;
|
|
|
|
|
|
+ llvm_i32_ty, llvm_i32_ty], [ImmArg<0>, ImmArg<1>, ImmArg<2>]>;
|
|
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
//===----------------------------------------------------------------------===//
|
|
// CRC32
|
|
// CRC32
|