// REQUIRES: mips-registered-target // RUN: %clang_cc1 -triple mips-unknown-linux-gnu -emit-llvm %s \ // RUN: -Werror \ // RUN: -target-feature +msa -target-feature +fp64 \ // RUN: -mfloat-abi hard -o - | FileCheck %s #include void test(void) { const v16i8 v16i8_a = (v16i8) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; v16i8 v16i8_r; const v8i16 v8i16_a = (v8i16) {0, 1, 2, 3, 4, 5, 6, 7}; v8i16 v8i16_r; const v4i32 v4i32_a = (v4i32) {0, 1, 2, 3}; v4i32 v4i32_r; const v2i64 v2i64_a = (v2i64) {0, 1}; v2i64 v2i64_r; v16i8_r = __msa_ld_b(&v16i8_a, 1); // CHECK: call <16 x i8> @llvm.mips.ld.b( v8i16_r = __msa_ld_h(&v8i16_a, 2); // CHECK: call <8 x i16> @llvm.mips.ld.h( v4i32_r = __msa_ld_w(&v4i32_a, 4); // CHECK: call <4 x i32> @llvm.mips.ld.w( v2i64_r = __msa_ld_d(&v2i64_a, 8); // CHECK: call <2 x i64> @llvm.mips.ld.d( }