mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 07:11:49 +00:00
ARM: mark matching ARM intrinsics as MSBuiltin
A number of the ARM intrinsics are aliased with alternative names in MSVC compatibility mode. This change indicates those intrinsics to permit tablegen to construct an appropriate list of MSBuiltins. With the corresponding change in clang, these intrinsics can then be mapped from the frontend. The tests to validate the intrinsics are aliased correctly will be added with the corresponding clang change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212377 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
61b3d72ce4
commit
6d1c237e11
@ -54,9 +54,12 @@ def int_arm_ldaexd : Intrinsic<[llvm_i32_ty, llvm_i32_ty], [llvm_ptr_ty]>;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Data barrier instructions
|
||||
def int_arm_dmb : GCCBuiltin<"__builtin_arm_dmb">, Intrinsic<[], [llvm_i32_ty]>;
|
||||
def int_arm_dsb : GCCBuiltin<"__builtin_arm_dsb">, Intrinsic<[], [llvm_i32_ty]>;
|
||||
def int_arm_isb : GCCBuiltin<"__builtin_arm_isb">, Intrinsic<[], [llvm_i32_ty]>;
|
||||
def int_arm_dmb : GCCBuiltin<"__builtin_arm_dmb">, MSBuiltin<"__dmb">,
|
||||
Intrinsic<[], [llvm_i32_ty]>;
|
||||
def int_arm_dsb : GCCBuiltin<"__builtin_arm_dsb">, MSBuiltin<"__dsb">,
|
||||
Intrinsic<[], [llvm_i32_ty]>;
|
||||
def int_arm_isb : GCCBuiltin<"__builtin_arm_isb">, MSBuiltin<"__isb">,
|
||||
Intrinsic<[], [llvm_i32_ty]>;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// VFP
|
||||
@ -75,17 +78,21 @@ def int_arm_vcvtru : Intrinsic<[llvm_float_ty], [llvm_anyfloat_ty],
|
||||
|
||||
// Move to coprocessor
|
||||
def int_arm_mcr : GCCBuiltin<"__builtin_arm_mcr">,
|
||||
MSBuiltin<"_MoveToCoprocessor">,
|
||||
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
||||
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
|
||||
def int_arm_mcr2 : GCCBuiltin<"__builtin_arm_mcr2">,
|
||||
MSBuiltin<"_MoveToCoprocessor2">,
|
||||
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
||||
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
|
||||
|
||||
// Move from coprocessor
|
||||
def int_arm_mrc : GCCBuiltin<"__builtin_arm_mrc">,
|
||||
MSBuiltin<"_MoveFromCoprocessor">,
|
||||
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
||||
llvm_i32_ty, llvm_i32_ty], []>;
|
||||
def int_arm_mrc2 : GCCBuiltin<"__builtin_arm_mrc2">,
|
||||
MSBuiltin<"_MoveFromCoprocessor2">,
|
||||
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty,
|
||||
llvm_i32_ty, llvm_i32_ty], []>;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user