mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-28 06:32:09 +00:00
MIPS: mark intrinsics IntrNoMem so all patterns using them are consistent.
This is apparently a bit of a white lie (they can affect DSPControl for overflow etc) but similar to how we currently handle floating-point operations. When it becomes relevant the whole lot can be reviewed properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199718 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6817639c74
commit
ff68143c8c
@ -26,22 +26,26 @@ let TargetPrefix = "mips" in { // All intrinsics start with "llvm.mips.".
|
||||
// Addition/subtraction
|
||||
|
||||
def int_mips_addu_qb : GCCBuiltin<"__builtin_mips_addu_qb">,
|
||||
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [Commutative]>;
|
||||
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty],
|
||||
[Commutative, IntrNoMem]>;
|
||||
def int_mips_addu_s_qb : GCCBuiltin<"__builtin_mips_addu_s_qb">,
|
||||
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [Commutative]>;
|
||||
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty],
|
||||
[Commutative, IntrNoMem]>;
|
||||
def int_mips_subu_qb : GCCBuiltin<"__builtin_mips_subu_qb">,
|
||||
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], []>;
|
||||
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [IntrNoMem]>;
|
||||
def int_mips_subu_s_qb : GCCBuiltin<"__builtin_mips_subu_s_qb">,
|
||||
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], []>;
|
||||
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [IntrNoMem]>;
|
||||
|
||||
def int_mips_addq_ph : GCCBuiltin<"__builtin_mips_addq_ph">,
|
||||
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [Commutative]>;
|
||||
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty],
|
||||
[Commutative, IntrNoMem]>;
|
||||
def int_mips_addq_s_ph : GCCBuiltin<"__builtin_mips_addq_s_ph">,
|
||||
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [Commutative]>;
|
||||
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty],
|
||||
[Commutative, IntrNoMem]>;
|
||||
def int_mips_subq_ph : GCCBuiltin<"__builtin_mips_subq_ph">,
|
||||
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], []>;
|
||||
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [IntrNoMem]>;
|
||||
def int_mips_subq_s_ph : GCCBuiltin<"__builtin_mips_subq_s_ph">,
|
||||
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], []>;
|
||||
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [IntrNoMem]>;
|
||||
|
||||
def int_mips_madd: GCCBuiltin<"__builtin_mips_madd">,
|
||||
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty],
|
||||
|
Loading…
x
Reference in New Issue
Block a user