//===----------------------------------------------------------------------===// // // MipsTrax-specific intrinsics. // This is at the end of the regular IntrinsicsMips.td file, these are the TRaX specific // intrinsics //===----------------------------------------------------------------------===// def int_mips_atominc : Intrinsic<[llvm_i32_ty], [llvm_i32_ty]>; def int_mips_invsqrt : Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; def int_mips_printfmstr : Intrinsic<[], [llvm_ptrptr_ty]>; def int_mips_printi : Intrinsic<[], [llvm_i32_ty]>; def int_mips_printf : Intrinsic<[], [llvm_float_ty]>; def int_mips_barrier : Intrinsic<[], [llvm_i32_ty]>; def int_mips_increset : Intrinsic<[llvm_i32_ty], [llvm_i32_ty]>; def int_mips_loadi : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty]>; def int_mips_loadf : Intrinsic<[llvm_float_ty], [llvm_i32_ty, llvm_i32_ty]>; def int_mips_storef : Intrinsic<[], [llvm_float_ty, llvm_i32_ty, llvm_i32_ty]>; def int_mips_storei : Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty]>; def int_mips_max : Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem]>; def int_mips_min : Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem]>; def int_mips_semacq : Intrinsic<[], [llvm_i32_ty]>; def int_mips_semrel : Intrinsic<[], [llvm_i32_ty]>; def int_mips_rand : Intrinsic<[llvm_float_ty], []>; def int_mips_getid : Intrinsic<[llvm_i32_ty], [llvm_i32_ty]>; def int_mips_nthreads : Intrinsic<[llvm_i32_ty], []>; // will_i32_ptr_ty is defined at the top of the file: def will_i32ptr_ty : LLVMPointerType; def int_mips_emitfragment : Intrinsic<[], [llvm_i32_ty, llvm_float_ty, will_i32ptr_ty]>; def int_mips_saveframebuffer : Intrinsic<[], []>; def int_mips_vzerops : Intrinsic<[llvm_v8f32_ty], []>;