| // REQUIRES: arm-registered-target |
| // RUN: %clang_cc1 -triple thumb %s -emit-llvm -o - | FileCheck %s |
| int t1() { |
| static float k = 1.0f; |
| // CHECK: flds s15 |
| __asm__ volatile ("flds s15, %[k] \n" :: [k] "Uv" (k) : "s15"); |
| return 0; |
| } |
| |
| // CHECK-LABEL: @even_reg_constraint_Te |
| int even_reg_constraint_Te(void) { |
| int acc = 0; |
| // CHECK: vaddv{{.*\^Te}} |
| asm("vaddv.s8 %0, Q0" |
| : "+Te" (acc)); |
| return acc; |
| } |
| |
| // CHECK-LABEL: @odd_reg_constraint_To |
| int odd_reg_constraint_To(void) { |
| int eacc = 0, oacc = 0; |
| // CHECK: vaddlv{{.*\^To}} |
| asm("vaddlv.s8 %0, %1, Q0" |
| : "+Te" (eacc), "+To" (oacc)); |
| return oacc; |
| } |