1 | // REQUIRES: powerpc-registered-target |
2 | |
3 | // RUN: %clang_cc1 -triple powerpc64le-unknown-linux-gnu -target-feature +vsx \ |
4 | // RUN: -target-cpu pwr9 -emit-llvm %s -o - | FileCheck %s |
5 | |
6 | // This case is to test VSX register support in the clobbers list for inline asm. |
7 | void testVSX (void) { |
8 | unsigned int a = 0; |
9 | unsigned int *dbell=&a; |
10 | int d; |
11 | __asm__ __volatile__ ( |
12 | "lxvw4x %%vs32, 0, %2\n\t" |
13 | "stxvw4x %%vs32, 0, %1" |
14 | : "=m"(*(volatile unsigned int*)(dbell)) |
15 | : "r" (dbell), "r" (&d) |
16 | : "vs32" |
17 | ); |
18 | } |
19 | |
20 | // CHECK: call void asm sideeffect "lxvw4x %vs32, 0, $2\0A\09stxvw4x %vs32, 0, $1", "=*m,r,r,~{vs32}" |
21 | |