[llvm] [DAGTypeLegalizer] Add missing BR_CC handler for soft-promoted half operands (PR #196214)

Tony Varghese via llvm-commits llvm-commits at lists.llvm.org
Fri May 8 20:23:18 PDT 2026


================
@@ -0,0 +1,170 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \
+; RUN:     -mcpu=pwr9 < %s | FileCheck %s --check-prefix=CHECK-P9
+; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \
+; RUN:     -mcpu=pwr8 < %s | FileCheck %s --check-prefix=CHECK-P8
+
+; Basic comparison with branch
+define i32 @test_br_cc_olt(half %a, half %b) {
+; CHECK-P9-LABEL: test_br_cc_olt:
+; CHECK-P9:       # %bb.0:
+; CHECK-P9-NEXT:    clrlwi 3, 3, 16
+; CHECK-P9-NEXT:    clrlwi 4, 4, 16
+; CHECK-P9-NEXT:    mtfprwz 0, 4
+; CHECK-P9-NEXT:    mtfprwz 1, 3
+; CHECK-P9-NEXT:    xscvhpdp 0, 0
+; CHECK-P9-NEXT:    xscvhpdp 1, 1
+; CHECK-P9-NEXT:    fcmpu 0, 1, 0
+; CHECK-P9-NEXT:    bge 0, .LBB0_2
+; CHECK-P9-NEXT:  # %bb.1: # %if.then
+; CHECK-P9-NEXT:    li 3, 1
+; CHECK-P9-NEXT:    blr
+; CHECK-P9-NEXT:  .LBB0_2: # %if.else
+; CHECK-P9-NEXT:    li 3, 0
+; CHECK-P9-NEXT:    blr
+;
+; CHECK-P8-LABEL: test_br_cc_olt:
+; CHECK-P8:       # %bb.0:
+; CHECK-P8-NEXT:    mflr 0
+; CHECK-P8-NEXT:    .cfi_def_cfa_offset 64
----------------
tonykuttai wrote:

done

https://github.com/llvm/llvm-project/pull/196214


More information about the llvm-commits mailing list