| 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 | |