1; RUN: llc --mtriple=loongarch32 --mattr=+d < %s | FileCheck %s --check-prefix=LA32 2; RUN: llc --mtriple=loongarch64 --mattr=+d < %s | FileCheck %s --check-prefix=LA64 3 4;; Test the bare double-precision floating-point values selection: 5;; https://llvm.org/docs/LangRef.html#select-instruction 6 7define double @test(i1 %a, double %b, double %c) { 8; LA32-LABEL: test: 9; LA32: # %bb.0: 10; LA32-NEXT: andi $a0, $a0, 1 11; LA32-NEXT: movgr2cf $fcc0, $a0 12; LA32-NEXT: fsel $fa0, $fa1, $fa0, $fcc0 13; LA32-NEXT: jirl $zero, $ra, 0 14; 15; LA64-LABEL: test: 16; LA64: # %bb.0: 17; LA64-NEXT: andi $a0, $a0, 1 18; LA64-NEXT: movgr2cf $fcc0, $a0 19; LA64-NEXT: fsel $fa0, $fa1, $fa0, $fcc0 20; LA64-NEXT: jirl $zero, $ra, 0 21 %res = select i1 %a, double %b, double %c 22 ret double %res 23} 24