| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py |
| ; RUN: llc -mtriple=armv7a-linux-gnu < %s | FileCheck %s |
| |
| ; Copied from llvm/test/CodeGen/Generic/2009-03-29-SoftFloatVectorExtract.ll, |
| ; making sure that soft float extract works on v7a soft float triples. |
| |
| @m = external global <2 x double> |
| |
| define double @vector_ex() nounwind #0 { |
| ; CHECK-LABEL: vector_ex: |
| ; CHECK: @ %bb.0: |
| ; CHECK-NEXT: movw r0, :lower16:m |
| ; CHECK-NEXT: movt r0, :upper16:m |
| ; CHECK-NEXT: vld1.64 {d16, d17}, [r0] |
| ; CHECK-NEXT: vmov.32 r0, d17[0] |
| ; CHECK-NEXT: vmov.32 r1, d17[1] |
| ; CHECK-NEXT: bx lr |
| %v = load <2 x double>, <2 x double>* @m |
| %x = extractelement <2 x double> %v, i32 1 |
| ret double %x |
| } |
| |
| attributes #0 = { "use-soft-float" = "true" } |