1# RUN: llc -mtriple powerpc64le-unknown-linux-gnu -start-after=codegenprepare \ 2# RUN: -o - %s -verify-machineinstrs | FileCheck %s 3 4--- | 5 define ppc_fp128 @freeze_select(ppc_fp128 %a, ppc_fp128 %b) { 6 %sel.frozen = freeze ppc_fp128 %a 7 %cmp = fcmp one ppc_fp128 %sel.frozen, 0xM00000000000000000000000000000000 8 br i1 %cmp, label %select.end, label %select.false 9 10 select.false: ; preds = %0 11 br label %select.end 12 13 select.end: ; preds = %0, %select.false 14 %sel = phi ppc_fp128 [ %a, %0 ], [ %b, %select.false ] 15 ret ppc_fp128 %sel 16 } 17 18 ; CHECK-LABEL: freeze_select 19 ; CHECK: # %bb.0: 20 ; CHECK-NEXT: xxlxor 0, 0, 0 21 ; CHECK-NEXT: fcmpu 1, 2, 2 22 ; CHECK-NEXT: fcmpu 0, 2, 0 23 ; CHECK-NEXT: crnor 20, 7, 2 24 ; CHECK-NEXT: fcmpu 0, 1, 0 25 ; CHECK-NEXT: fcmpu 1, 1, 1 26 ; CHECK-NEXT: crand 20, 2, 20 27 ; CHECK-NEXT: bclr 12, 20, 0 28 ; CHECK-NEXT: # %bb.1: 29 ; CHECK-NEXT: crnor 20, 7, 2 30 ; CHECK-NEXT: bclr 12, 20, 0 31 ; CHECK-NEXT: # %bb.2: # %select.false 32 ; CHECK-NEXT: fmr 1, 3 33 ; CHECK-NEXT: fmr 2, 4 34 ; CHECK-NEXT: blr 35... 36