1 ; RUN: llc -march=hexagon < %s | FileCheck %s 2 3 @g = global i128 zeroinitializer, align 8 4 5 ; CHECK-LABEL: addc: 6 ; CHECK: p[[P0:[0-3]]] = and(p[[P1:[0-9]]],!p[[P1]]) 7 ; CHECK: add({{.*}},{{.*}},p[[P0]]):carry 8 ; CHECK: add({{.*}},{{.*}},p[[P0]]):carry 9 define void @addc(i128 %a0, i128 %a1) #0 { 10 %v0 = add i128 %a0, %a1 11 store i128 %v0, i128* @g, align 8 12 ret void 13 } 14 15 ; CHECK-LABEL: subc: 16 ; CHECK: p[[P0:[0-3]]] = or(p[[P1:[0-9]]],!p[[P1]]) 17 ; CHECK: sub({{.*}},{{.*}},p[[P0]]):carry 18 ; CHECK: sub({{.*}},{{.*}},p[[P0]]):carry 19 define void @subc(i128 %a0, i128 %a1) #0 { 20 %v0 = sub i128 %a0, %a1 21 store i128 %v0, i128* @g, align 8 22 ret void 23 } 24 25 26