blob: e587e089b900105c76017d0a0b74404d12d4eeac [file] [edit]
// 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 <msa.h>
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(
}