1 # RUN: llc -O0 -mtriple arm-- -mattr=+neon -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s
4 define void @test_add_s64() { ret void }
5 define void @test_sub_s64() { ret void }
9 # CHECK-LABEL: name: test_add_s64
13 # CHECK: selected: true
15 - { id: 0, class: fprb }
16 - { id: 1, class: fprb }
17 - { id: 2, class: fprb }
23 ; CHECK: [[VREGX:%[0-9]+]]:dpr = COPY $d0
26 ; CHECK: [[VREGY:%[0-9]+]]:dpr = COPY $d1
28 %2(s64) = G_ADD %0, %1
29 ; CHECK: [[VREGSUM:%[0-9]+]]:dpr = VADDv1i64 [[VREGX]], [[VREGY]], 14, $noreg
32 ; CHECK: $d0 = COPY [[VREGSUM]]
34 BX_RET 14, $noreg, implicit $d0
35 ; CHECK: BX_RET 14, $noreg, implicit $d0
39 # CHECK-LABEL: name: test_sub_s64
43 # CHECK: selected: true
45 - { id: 0, class: fprb }
46 - { id: 1, class: fprb }
47 - { id: 2, class: fprb }
53 ; CHECK: [[VREGX:%[0-9]+]]:dpr = COPY $d0
56 ; CHECK: [[VREGY:%[0-9]+]]:dpr = COPY $d1
58 %2(s64) = G_SUB %0, %1
59 ; CHECK: [[VREGSUM:%[0-9]+]]:dpr = VSUBv1i64 [[VREGX]], [[VREGY]], 14, $noreg
62 ; CHECK: $d0 = COPY [[VREGSUM]]
64 BX_RET 14, $noreg, implicit $d0
65 ; CHECK: BX_RET 14, $noreg, implicit $d0