# RUN: llc -O0 -mtriple arm-- -mattr=+vfp2 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefixes=CHECK
# RUN: llc -O0 -mtriple thumb-- -mattr=+v6t2,+vfp2 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefixes=CHECK
--- |
  define void @test_dbg_value() #0 { ret void }

  !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "llvm", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
  !1 = !DIFile(filename: "dbg.ll", directory: "/tmp")
  !2 = !{}
  !5 = distinct !DISubprogram(name: "test_dbg_value", scope: !1, file: !1, line: 1, type: !6, isLocal: false, isDefinition: true, scopeLine: 1, flags: DIFlagPrototyped, isOptimized: false, unit: !0, retainedNodes: !2)
  !6 = !DISubroutineType(types: !2)
  !7 = !DILocalVariable(name: "x", arg: 1, scope: !5, file: !1, line: 1, type: !8)
  !8 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
  !9 = !DILocation(line: 1, column: 1, scope: !5)
...
---
name:            test_dbg_value
# CHECK-LABEL: name: test_dbg_value
legalized:       true
regBankSelected: true
selected:        false
# CHECK: selected: true
registers:
  - { id: 0, class: gprb }
  - { id: 1, class: fprb }
  - { id: 2, class: gprb }
  - { id: 3, class: fprb }
body:             |
  bb.0:
    liveins: $r0, $s1

    %0(s32) = COPY $r0
    %1(s32) = COPY $s1

    %2(s32) = G_ADD %0, %0

    ; DBG_VALUE {{%[0-9]+}}:gpr, $noreg, !7, !DIExpression(), debug-location !9
    DBG_VALUE %2(s32), $noreg, !7, !DIExpression(), debug-location !9

    %3(s32) = G_FADD %1, %1

    ; DBG_VALUE {{%[0-9]+}}:spr, $noreg, !7, !DIExpression(), debug-location !9
    DBG_VALUE %3(s32), $noreg, !7, !DIExpression(), debug-location !9

    ; DBG_VALUE i32 42, 0, !7, !DIExpression(), debug-location !9
    DBG_VALUE i32 42, 0, !7, !DIExpression(), debug-location !9

    ; DBG_VALUE float 1.000000e+00, 0, !7, !DIExpression(), debug-location !9
    DBG_VALUE float 1.000000e+00, 0, !7, !DIExpression(), debug-location !9

    ; DBG_VALUE $noreg, 0, !7, !DIExpression(), debug-location !9
    DBG_VALUE $noreg, 0, !7, !DIExpression(), debug-location !9

    $r0 = COPY %2(s32)
    $s1 = COPY %3(s32)
    BX_RET 14, $noreg, implicit $r0, implicit $s1

...
