mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
[Hexagon] Converting XTYPE/SHIFT intrinsics. Cleaning out old intrinsic patterns and updating tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228026 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -4810,3 +4810,21 @@ Hexagon_di_di_Intrinsic<"HEXAGON_S2_interleave">;
|
||||
//
|
||||
def int_hexagon_S2_deinterleave :
|
||||
Hexagon_di_di_Intrinsic<"HEXAGON_S2_deinterleave">;
|
||||
|
||||
def llvm_ptr32_ty : LLVMPointerType<llvm_i32_ty>;
|
||||
def llvm_ptr64_ty : LLVMPointerType<llvm_i64_ty>;
|
||||
|
||||
// Mark locked loads as read/write to prevent any accidental reordering.
|
||||
def int_hexagon_L2_loadw_locked :
|
||||
Hexagon_Intrinsic<"HEXAGON_L2_loadw_locked", [llvm_i32_ty], [llvm_ptr32_ty],
|
||||
[IntrReadWriteArgMem, NoCapture<0>]>;
|
||||
def int_hexagon_L4_loadd_locked :
|
||||
Hexagon_Intrinsic<"HEXAGON_L4_loadd_locked", [llvm_i64_ty], [llvm_ptr64_ty],
|
||||
[IntrReadWriteArgMem, NoCapture<0>]>;
|
||||
|
||||
def int_hexagon_S2_storew_locked :
|
||||
Hexagon_Intrinsic<"HEXAGON_S2_storew_locked", [llvm_i32_ty],
|
||||
[llvm_ptr32_ty, llvm_i32_ty], [IntrReadWriteArgMem, NoCapture<0>]>;
|
||||
def int_hexagon_S4_stored_locked :
|
||||
Hexagon_Intrinsic<"HEXAGON_S4_stored_locked", [llvm_i32_ty],
|
||||
[llvm_ptr64_ty, llvm_i64_ty], [IntrReadWriteArgMem, NoCapture<0>]>;
|
||||
|
Reference in New Issue
Block a user