[mips][msa] Added fexdo, fexup[lr] builtins

llvm-svn: 188784
This commit is contained in:
Daniel Sanders 2013-08-20 09:47:12 +00:00
parent 4260527f5f
commit b545c253d6
2 changed files with 18 additions and 0 deletions

View File

@ -418,9 +418,18 @@ BUILTIN(__builtin_msa_fcne_d, "V2LLiV2dV2d", "nc")
BUILTIN(__builtin_msa_fdiv_w, "V4fV4fV4f", "nc")
BUILTIN(__builtin_msa_fdiv_d, "V2dV2dV2d", "nc")
BUILTIN(__builtin_msa_fexdo_h, "V8hV4fV4f", "nc")
BUILTIN(__builtin_msa_fexdo_w, "V4fV2dV2d", "nc")
BUILTIN(__builtin_msa_fexp2_w, "V4fV4fV4i", "nc")
BUILTIN(__builtin_msa_fexp2_d, "V2dV2dV2LLi", "nc")
BUILTIN(__builtin_msa_fexupl_w, "V4fV8h", "nc")
BUILTIN(__builtin_msa_fexupl_d, "V2dV4f", "nc")
BUILTIN(__builtin_msa_fexupr_w, "V4fV8h", "nc")
BUILTIN(__builtin_msa_fexupr_d, "V2dV4f", "nc")
BUILTIN(__builtin_msa_ffint_s_w, "V4fV4Si", "nc")
BUILTIN(__builtin_msa_ffint_s_d, "V2dV2SLLi", "nc")

View File

@ -303,9 +303,18 @@ void test(void) {
v4f32_r = __builtin_msa_fdiv_w(v4f32_a, v4f32_b); // CHECK: call <4 x float> @llvm.mips.fdiv.w(
v2f64_r = __builtin_msa_fdiv_d(v2f64_a, v2f64_b); // CHECK: call <2 x double> @llvm.mips.fdiv.d(
v8f16_r = __builtin_msa_fexdo_h(v4f32_a, v4f32_b); // CHECK: call <8 x half> @llvm.mips.fexdo.h(
v4f32_r = __builtin_msa_fexdo_w(v2f64_a, v2f64_b); // CHECK: call <4 x float> @llvm.mips.fexdo.w(
v4f32_r = __builtin_msa_fexp2_w(v4f32_a, v4i32_b); // CHECK: call <4 x float> @llvm.mips.fexp2.w(
v2f64_r = __builtin_msa_fexp2_d(v2f64_a, v2i64_b); // CHECK: call <2 x double> @llvm.mips.fexp2.d(
v4f32_r = __builtin_msa_fexupl_w(v8f16_a); // CHECK: call <4 x float> @llvm.mips.fexupl.w(
v2f64_r = __builtin_msa_fexupl_d(v4f32_a); // CHECK: call <2 x double> @llvm.mips.fexupl.d(
v4f32_r = __builtin_msa_fexupr_w(v8f16_a); // CHECK: call <4 x float> @llvm.mips.fexupr.w(
v2f64_r = __builtin_msa_fexupr_d(v4f32_a); // CHECK: call <2 x double> @llvm.mips.fexupr.d(
v4f32_r = __builtin_msa_ffint_s_w(v4i32_a); // CHECK: call <4 x float> @llvm.mips.ffint.s.w(
v2f64_r = __builtin_msa_ffint_s_d(v2i64_a); // CHECK: call <2 x double> @llvm.mips.ffint.s.d(