brintos

brintos / llvm-project-archived public Read only

0
0
Text · 13.9 KiB · 763f596 Raw
468 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -ppc-gpr-icmps=all -mtriple=powerpc64-unknown-linux-gnu \3; RUN:     -verify-machineinstrs -mcpu=pwr7 < %s | FileCheck %s4; RUN: llc -ppc-gpr-icmps=all -mtriple=powerpc64-unknown-linux-gnu \5; RUN:     -verify-machineinstrs -mcpu=pwr7 -mattr=-isel < %s | \6; RUN:     FileCheck --check-prefix=CHECK-NO-ISEL %s7; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -O2 \8; RUN:     -ppc-asm-full-reg-names -mcpu=pwr10 -ppc-gpr-icmps=none < %s | \9; RUN:     FileCheck %s --check-prefix=CHECK-P1010; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu -O2 \11; RUN:     -ppc-asm-full-reg-names -mcpu=pwr10 -ppc-gpr-icmps=none < %s | \12; RUN:     FileCheck %s --check-prefix=CHECK-P1013 14; Function Attrs: nounwind readnone15define zeroext i1 @test1(float %v1, float %v2) #0 {16; CHECK-LABEL: test1:17; CHECK:       # %bb.0: # %entry18; CHECK-NEXT:    fcmpu 0, 1, 219; CHECK-NEXT:    xxlxor 0, 0, 020; CHECK-NEXT:    li 3, 121; CHECK-NEXT:    fcmpu 1, 2, 222; CHECK-NEXT:    crnor 20, 3, 023; CHECK-NEXT:    fcmpu 0, 2, 024; CHECK-NEXT:    crnor 21, 7, 125; CHECK-NEXT:    crnand 20, 20, 2126; CHECK-NEXT:    isel 3, 0, 3, 2027; CHECK-NEXT:    blr28;29; CHECK-NO-ISEL-LABEL: test1:30; CHECK-NO-ISEL:       # %bb.0: # %entry31; CHECK-NO-ISEL-NEXT:    fcmpu 0, 1, 232; CHECK-NO-ISEL-NEXT:    xxlxor 0, 0, 033; CHECK-NO-ISEL-NEXT:    li 3, 034; CHECK-NO-ISEL-NEXT:    fcmpu 1, 2, 235; CHECK-NO-ISEL-NEXT:    crnor 20, 3, 036; CHECK-NO-ISEL-NEXT:    fcmpu 0, 2, 037; CHECK-NO-ISEL-NEXT:    bclr 4, 20, 038; CHECK-NO-ISEL-NEXT:  # %bb.1: # %entry39; CHECK-NO-ISEL-NEXT:    crnor 20, 7, 140; CHECK-NO-ISEL-NEXT:    bclr 4, 20, 041; CHECK-NO-ISEL-NEXT:  # %bb.2: # %entry42; CHECK-NO-ISEL-NEXT:    li 3, 143; CHECK-NO-ISEL-NEXT:    blr44;45; CHECK-P10-LABEL: test1:46; CHECK-P10:       # %bb.0: # %entry47; CHECK-P10-NEXT:    fcmpu cr0, f1, f248; CHECK-P10-NEXT:    xxlxor f0, f0, f049; CHECK-P10-NEXT:    fcmpu cr1, f2, f250; CHECK-P10-NEXT:    crnor 4*cr5+lt, un, lt51; CHECK-P10-NEXT:    fcmpu cr0, f2, f052; CHECK-P10-NEXT:    crnor 4*cr5+gt, 4*cr1+un, gt53; CHECK-P10-NEXT:    crand 4*cr5+lt, 4*cr5+lt, 4*cr5+gt54; CHECK-P10-NEXT:    setbc r3, 4*cr5+lt55; CHECK-P10-NEXT:    blr56entry:57  %cmp = fcmp oge float %v1, %v258  %cmp2 = fcmp ole float %v2, 0.000000e+0059  %and5 = and i1 %cmp, %cmp260  ret i1 %and561 62 63}64 65; Function Attrs: nounwind readnone66define zeroext i1 @test2(float %v1, float %v2) #0 {67; CHECK-LABEL: test2:68; CHECK:       # %bb.0: # %entry69; CHECK-NEXT:    fcmpu 0, 1, 270; CHECK-NEXT:    xxlxor 0, 0, 071; CHECK-NEXT:    li 3, 172; CHECK-NEXT:    fcmpu 1, 2, 273; CHECK-NEXT:    crnor 20, 3, 074; CHECK-NEXT:    fcmpu 0, 2, 075; CHECK-NEXT:    crnor 21, 7, 176; CHECK-NEXT:    creqv 20, 20, 2177; CHECK-NEXT:    isel 3, 0, 3, 2078; CHECK-NEXT:    blr79;80; CHECK-NO-ISEL-LABEL: test2:81; CHECK-NO-ISEL:       # %bb.0: # %entry82; CHECK-NO-ISEL-NEXT:    fcmpu 0, 1, 283; CHECK-NO-ISEL-NEXT:    xxlxor 0, 0, 084; CHECK-NO-ISEL-NEXT:    li 3, 085; CHECK-NO-ISEL-NEXT:    fcmpu 1, 2, 286; CHECK-NO-ISEL-NEXT:    crnor 20, 3, 087; CHECK-NO-ISEL-NEXT:    fcmpu 0, 2, 088; CHECK-NO-ISEL-NEXT:    crnor 21, 7, 189; CHECK-NO-ISEL-NEXT:    creqv 20, 20, 2190; CHECK-NO-ISEL-NEXT:    bclr 12, 20, 091; CHECK-NO-ISEL-NEXT:  # %bb.1: # %entry92; CHECK-NO-ISEL-NEXT:    li 3, 193; CHECK-NO-ISEL-NEXT:    blr94;95; CHECK-P10-LABEL: test2:96; CHECK-P10:       # %bb.0: # %entry97; CHECK-P10-NEXT:    fcmpu cr0, f1, f298; CHECK-P10-NEXT:    xxlxor f0, f0, f099; CHECK-P10-NEXT:    fcmpu cr1, f2, f2100; CHECK-P10-NEXT:    crnor 4*cr5+lt, un, lt101; CHECK-P10-NEXT:    fcmpu cr0, f2, f0102; CHECK-P10-NEXT:    crnor 4*cr5+gt, 4*cr1+un, gt103; CHECK-P10-NEXT:    crxor 4*cr5+lt, 4*cr5+lt, 4*cr5+gt104; CHECK-P10-NEXT:    setbc r3, 4*cr5+lt105; CHECK-P10-NEXT:    blr106entry:107  %cmp = fcmp oge float %v1, %v2108  %cmp2 = fcmp ole float %v2, 0.000000e+00109  %xor5 = xor i1 %cmp, %cmp2110  ret i1 %xor5111 112 113}114 115; Function Attrs: nounwind readnone116define zeroext i1 @test3(float %v1, float %v2, i32 signext %x) #0 {117; CHECK-LABEL: test3:118; CHECK:       # %bb.0: # %entry119; CHECK-NEXT:    fcmpu 0, 1, 2120; CHECK-NEXT:    xxlxor 0, 0, 0121; CHECK-NEXT:    li 3, 1122; CHECK-NEXT:    fcmpu 1, 2, 2123; CHECK-NEXT:    crnor 20, 3, 0124; CHECK-NEXT:    fcmpu 0, 2, 0125; CHECK-NEXT:    crnor 21, 7, 1126; CHECK-NEXT:    cmpwi 5, -2127; CHECK-NEXT:    crandc 21, 21, 2128; CHECK-NEXT:    creqv 20, 20, 21129; CHECK-NEXT:    isel 3, 0, 3, 20130; CHECK-NEXT:    blr131;132; CHECK-NO-ISEL-LABEL: test3:133; CHECK-NO-ISEL:       # %bb.0: # %entry134; CHECK-NO-ISEL-NEXT:    fcmpu 0, 1, 2135; CHECK-NO-ISEL-NEXT:    xxlxor 0, 0, 0136; CHECK-NO-ISEL-NEXT:    li 3, 0137; CHECK-NO-ISEL-NEXT:    fcmpu 1, 2, 2138; CHECK-NO-ISEL-NEXT:    crnor 20, 3, 0139; CHECK-NO-ISEL-NEXT:    fcmpu 0, 2, 0140; CHECK-NO-ISEL-NEXT:    crnor 21, 7, 1141; CHECK-NO-ISEL-NEXT:    cmpwi 5, -2142; CHECK-NO-ISEL-NEXT:    crandc 21, 21, 2143; CHECK-NO-ISEL-NEXT:    creqv 20, 20, 21144; CHECK-NO-ISEL-NEXT:    bclr 12, 20, 0145; CHECK-NO-ISEL-NEXT:  # %bb.1: # %entry146; CHECK-NO-ISEL-NEXT:    li 3, 1147; CHECK-NO-ISEL-NEXT:    blr148;149; CHECK-P10-LABEL: test3:150; CHECK-P10:       # %bb.0: # %entry151; CHECK-P10-NEXT:    fcmpu cr0, f1, f2152; CHECK-P10-NEXT:    xxlxor f0, f0, f0153; CHECK-P10-NEXT:    fcmpu cr1, f2, f2154; CHECK-P10-NEXT:    crnor 4*cr5+lt, un, lt155; CHECK-P10-NEXT:    fcmpu cr0, f2, f0156; CHECK-P10-NEXT:    crnor 4*cr5+gt, 4*cr1+un, gt157; CHECK-P10-NEXT:    cmpwi r5, -2158; CHECK-P10-NEXT:    crandc 4*cr5+gt, 4*cr5+gt, eq159; CHECK-P10-NEXT:    crxor 4*cr5+lt, 4*cr5+lt, 4*cr5+gt160; CHECK-P10-NEXT:    setbc r3, 4*cr5+lt161; CHECK-P10-NEXT:    blr162entry:163  %cmp = fcmp oge float %v1, %v2164  %cmp2 = fcmp ole float %v2, 0.000000e+00165  %cmp4 = icmp ne i32 %x, -2166  %and7 = and i1 %cmp2, %cmp4167  %xor8 = xor i1 %cmp, %and7168  ret i1 %xor8169 170 171}172 173; Function Attrs: nounwind readnone174define zeroext i1 @test4(i1 zeroext %v1, i1 zeroext %v2, i1 zeroext %v3) #0 {175; CHECK-LABEL: test4:176; CHECK:       # %bb.0: # %entry177; CHECK-NEXT:    and 3, 3, 4178; CHECK-NEXT:    or 3, 3, 5179; CHECK-NEXT:    blr180;181; CHECK-NO-ISEL-LABEL: test4:182; CHECK-NO-ISEL:       # %bb.0: # %entry183; CHECK-NO-ISEL-NEXT:    and 3, 3, 4184; CHECK-NO-ISEL-NEXT:    or 3, 3, 5185; CHECK-NO-ISEL-NEXT:    blr186;187; CHECK-P10-LABEL: test4:188; CHECK-P10:       # %bb.0: # %entry189; CHECK-P10-NEXT:    and r3, r3, r4190; CHECK-P10-NEXT:    or r3, r3, r5191; CHECK-P10-NEXT:    blr192entry:193  %and8 = and i1 %v1, %v2194  %or9 = or i1 %and8, %v3195  ret i1 %or9196 197}198 199; Function Attrs: nounwind readnone200define zeroext i1 @test5(i1 zeroext %v1, i1 zeroext %v2, i32 signext %v3) #0 {201; CHECK-LABEL: test5:202; CHECK:       # %bb.0: # %entry203; CHECK-NEXT:    and 3, 3, 4204; CHECK-NEXT:    li 4, -2205; CHECK-NEXT:    xor 4, 5, 4206; CHECK-NEXT:    clrldi 3, 3, 63207; CHECK-NEXT:    cntlzw 4, 4208; CHECK-NEXT:    srwi 4, 4, 5209; CHECK-NEXT:    xori 4, 4, 1210; CHECK-NEXT:    or 3, 3, 4211; CHECK-NEXT:    blr212;213; CHECK-NO-ISEL-LABEL: test5:214; CHECK-NO-ISEL:       # %bb.0: # %entry215; CHECK-NO-ISEL-NEXT:    and 3, 3, 4216; CHECK-NO-ISEL-NEXT:    li 4, -2217; CHECK-NO-ISEL-NEXT:    xor 4, 5, 4218; CHECK-NO-ISEL-NEXT:    clrldi 3, 3, 63219; CHECK-NO-ISEL-NEXT:    cntlzw 4, 4220; CHECK-NO-ISEL-NEXT:    srwi 4, 4, 5221; CHECK-NO-ISEL-NEXT:    xori 4, 4, 1222; CHECK-NO-ISEL-NEXT:    or 3, 3, 4223; CHECK-NO-ISEL-NEXT:    blr224;225; CHECK-P10-LABEL: test5:226; CHECK-P10:       # %bb.0: # %entry227; CHECK-P10-NEXT:    and r3, r3, r4228; CHECK-P10-NEXT:    cmpwi cr1, r5, -2229; CHECK-P10-NEXT:    andi. r3, r3, 1230; CHECK-P10-NEXT:    crorc 4*cr5+lt, gt, 4*cr1+eq231; CHECK-P10-NEXT:    setbc r3, 4*cr5+lt232; CHECK-P10-NEXT:    blr233entry:234  %and6 = and i1 %v1, %v2235  %cmp = icmp ne i32 %v3, -2236  %or7 = or i1 %and6, %cmp237  ret i1 %or7238 239 240}241 242; Function Attrs: nounwind readnone243define zeroext i1 @test6(i1 zeroext %v1, i1 zeroext %v2, i32 signext %v3) #0 {244; CHECK-LABEL: test6:245; CHECK:       # %bb.0: # %entry246; CHECK-NEXT:    li 6, -2247; CHECK-NEXT:    clrldi 4, 4, 63248; CHECK-NEXT:    clrldi 3, 3, 63249; CHECK-NEXT:    xor 5, 5, 6250; CHECK-NEXT:    cntlzw 5, 5251; CHECK-NEXT:    srwi 5, 5, 5252; CHECK-NEXT:    xori 5, 5, 1253; CHECK-NEXT:    or 4, 5, 4254; CHECK-NEXT:    and 3, 4, 3255; CHECK-NEXT:    blr256;257; CHECK-NO-ISEL-LABEL: test6:258; CHECK-NO-ISEL:       # %bb.0: # %entry259; CHECK-NO-ISEL-NEXT:    li 6, -2260; CHECK-NO-ISEL-NEXT:    clrldi 4, 4, 63261; CHECK-NO-ISEL-NEXT:    clrldi 3, 3, 63262; CHECK-NO-ISEL-NEXT:    xor 5, 5, 6263; CHECK-NO-ISEL-NEXT:    cntlzw 5, 5264; CHECK-NO-ISEL-NEXT:    srwi 5, 5, 5265; CHECK-NO-ISEL-NEXT:    xori 5, 5, 1266; CHECK-NO-ISEL-NEXT:    or 4, 5, 4267; CHECK-NO-ISEL-NEXT:    and 3, 4, 3268; CHECK-NO-ISEL-NEXT:    blr269;270; CHECK-P10-LABEL: test6:271; CHECK-P10:       # %bb.0: # %entry272; CHECK-P10-NEXT:    andi. r3, r3, 1273; CHECK-P10-NEXT:    cmpwi cr1, r5, -2274; CHECK-P10-NEXT:    crmove 4*cr5+lt, gt275; CHECK-P10-NEXT:    andi. r3, r4, 1276; CHECK-P10-NEXT:    crorc 4*cr5+gt, gt, 4*cr1+eq277; CHECK-P10-NEXT:    crand 4*cr5+lt, 4*cr5+gt, 4*cr5+lt278; CHECK-P10-NEXT:    setbc r3, 4*cr5+lt279; CHECK-P10-NEXT:    blr280entry:281  %cmp = icmp ne i32 %v3, -2282  %or6 = or i1 %cmp, %v2283  %and7 = and i1 %or6, %v1284  ret i1 %and7285 286 287}288 289; Function Attrs: nounwind readnone290define signext i32 @test7(i1 zeroext %v2, i32 signext %i1, i32 signext %i2) #0 {291; CHECK-LABEL: test7:292; CHECK:       # %bb.0: # %entry293; CHECK-NEXT:    andi. 3, 3, 1294; CHECK-NEXT:    iselgt 3, 4, 5295; CHECK-NEXT:    blr296;297; CHECK-NO-ISEL-LABEL: test7:298; CHECK-NO-ISEL:       # %bb.0: # %entry299; CHECK-NO-ISEL-NEXT:    andi. 3, 3, 1300; CHECK-NO-ISEL-NEXT:    bc 12, 1, .LBB6_2301; CHECK-NO-ISEL-NEXT:  # %bb.1: # %entry302; CHECK-NO-ISEL-NEXT:    mr 4, 5303; CHECK-NO-ISEL-NEXT:  .LBB6_2: # %entry304; CHECK-NO-ISEL-NEXT:    mr 3, 4305; CHECK-NO-ISEL-NEXT:    blr306;307; CHECK-P10-LABEL: test7:308; CHECK-P10:       # %bb.0: # %entry309; CHECK-P10-NEXT:    andi. r3, r3, 1310; CHECK-P10-NEXT:    iselgt r3, r4, r5311; CHECK-P10-NEXT:    blr312entry:313  %cond = select i1 %v2, i32 %i1, i32 %i2314  ret i32 %cond315 316}317 318define signext i32 @exttest7(i32 signext %a) #0 {319; CHECK-LABEL: exttest7:320; CHECK:       # %bb.0: # %entry321; CHECK-NEXT:    cmplwi 3, 5322; CHECK-NEXT:    li 3, 8323; CHECK-NEXT:    li 4, 7324; CHECK-NEXT:    iseleq 3, 4, 3325; CHECK-NEXT:    blr326;327; CHECK-NO-ISEL-LABEL: exttest7:328; CHECK-NO-ISEL:       # %bb.0: # %entry329; CHECK-NO-ISEL-NEXT:    cmplwi 3, 5330; CHECK-NO-ISEL-NEXT:    li 3, 7331; CHECK-NO-ISEL-NEXT:    beqlr 0332; CHECK-NO-ISEL-NEXT:  # %bb.1: # %entry333; CHECK-NO-ISEL-NEXT:    li 3, 8334; CHECK-NO-ISEL-NEXT:    blr335;336; CHECK-P10-LABEL: exttest7:337; CHECK-P10:       # %bb.0: # %entry338; CHECK-P10-NEXT:    cmplwi r3, 5339; CHECK-P10-NEXT:    li r3, 8340; CHECK-P10-NEXT:    li r4, 7341; CHECK-P10-NEXT:    iseleq r3, r4, r3342; CHECK-P10-NEXT:    blr343entry:344  %cmp = icmp eq i32 %a, 5345  %cond = select i1 %cmp, i32 7, i32 8346  ret i32 %cond347 348}349 350define zeroext i32 @exttest8() #0 {351; CHECK-LABEL: exttest8:352; CHECK:       # %bb.0: # %entry353; CHECK-NEXT:    ld 3, 0(3)354; CHECK-NEXT:    subfic 3, 3, 80355; CHECK-NEXT:    rldicl 3, 3, 63, 1356; CHECK-NEXT:    cmplwi 3, 80357; CHECK-NEXT:    iselgt 3, 0, 3358; CHECK-NEXT:    clrldi 3, 3, 32359; CHECK-NEXT:    blr360;361; CHECK-NO-ISEL-LABEL: exttest8:362; CHECK-NO-ISEL:       # %bb.0: # %entry363; CHECK-NO-ISEL-NEXT:    ld 3, 0(3)364; CHECK-NO-ISEL-NEXT:    li 4, 0365; CHECK-NO-ISEL-NEXT:    subfic 3, 3, 80366; CHECK-NO-ISEL-NEXT:    rldicl 3, 3, 63, 1367; CHECK-NO-ISEL-NEXT:    cmplwi 3, 80368; CHECK-NO-ISEL-NEXT:    bgt 0, .LBB8_2369; CHECK-NO-ISEL-NEXT:  # %bb.1: # %entry370; CHECK-NO-ISEL-NEXT:    mr 4, 3371; CHECK-NO-ISEL-NEXT:  .LBB8_2: # %entry372; CHECK-NO-ISEL-NEXT:    clrldi 3, 4, 32373; CHECK-NO-ISEL-NEXT:    blr374;375; CHECK-P10-LABEL: exttest8:376; CHECK-P10:       # %bb.0: # %entry377; CHECK-P10-NEXT:    ld r3, 0(r3)378; CHECK-P10-NEXT:    subfic r3, r3, 80379; CHECK-P10-NEXT:    rldicl r3, r3, 63, 1380; CHECK-P10-NEXT:    cmplwi r3, 80381; CHECK-P10-NEXT:    iselgt r3, 0, r3382; CHECK-P10-NEXT:    clrldi r3, r3, 32383; CHECK-P10-NEXT:    blr384entry:385  %v0 = load i64, ptr undef, align 8386  %sub = sub i64 80, %v0387  %div = lshr i64 %sub, 1388  %conv13 = trunc i64 %div to i32389  %cmp14 = icmp ugt i32 %conv13, 80390  %.conv13 = select i1 %cmp14, i32 0, i32 %conv13391  ret i32 %.conv13392; This is a don't-crash test: %conv13 is both one of the possible select output393; values and also an input to the conditional feeding it.394}395 396; Function Attrs: nounwind readnone397define float @test8(i1 zeroext %v2, float %v1, float %v3) #0 {398; CHECK-LABEL: test8:399; CHECK:       # %bb.0: # %entry400; CHECK-NEXT:    andi. 3, 3, 1401; CHECK-NEXT:    bclr 12, 1, 0402; CHECK-NEXT:  # %bb.1: # %entry403; CHECK-NEXT:    fmr 1, 2404; CHECK-NEXT:    blr405;406; CHECK-NO-ISEL-LABEL: test8:407; CHECK-NO-ISEL:       # %bb.0: # %entry408; CHECK-NO-ISEL-NEXT:    andi. 3, 3, 1409; CHECK-NO-ISEL-NEXT:    bclr 12, 1, 0410; CHECK-NO-ISEL-NEXT:  # %bb.1: # %entry411; CHECK-NO-ISEL-NEXT:    fmr 1, 2412; CHECK-NO-ISEL-NEXT:    blr413;414; CHECK-P10-LABEL: test8:415; CHECK-P10:       # %bb.0: # %entry416; CHECK-P10-NEXT:    andi. r3, r3, 1417; CHECK-P10-NEXT:    bclr 12, gt, 0418; CHECK-P10-NEXT:  # %bb.1: # %entry419; CHECK-P10-NEXT:    fmr f1, f2420; CHECK-P10-NEXT:    blr421entry:422  %cond = select i1 %v2, float %v1, float %v3423  ret float %cond424 425}426 427; Function Attrs: nounwind readnone428define signext i32 @test10(i32 signext %v1, i32 signext %v2) #0 {429; CHECK-LABEL: test10:430; CHECK:       # %bb.0: # %entry431; CHECK-NEXT:    cntlzw 3, 3432; CHECK-NEXT:    cntlzw 4, 4433; CHECK-NEXT:    srwi 3, 3, 5434; CHECK-NEXT:    srwi 4, 4, 5435; CHECK-NEXT:    xori 3, 3, 1436; CHECK-NEXT:    and 3, 3, 4437; CHECK-NEXT:    blr438;439; CHECK-NO-ISEL-LABEL: test10:440; CHECK-NO-ISEL:       # %bb.0: # %entry441; CHECK-NO-ISEL-NEXT:    cntlzw 3, 3442; CHECK-NO-ISEL-NEXT:    cntlzw 4, 4443; CHECK-NO-ISEL-NEXT:    srwi 3, 3, 5444; CHECK-NO-ISEL-NEXT:    srwi 4, 4, 5445; CHECK-NO-ISEL-NEXT:    xori 3, 3, 1446; CHECK-NO-ISEL-NEXT:    and 3, 3, 4447; CHECK-NO-ISEL-NEXT:    blr448;449; CHECK-P10-LABEL: test10:450; CHECK-P10:       # %bb.0: # %entry451; CHECK-P10-NEXT:    cmpwi r3, 0452; CHECK-P10-NEXT:    cmpwi cr1, r4, 0453; CHECK-P10-NEXT:    crandc 4*cr5+lt, 4*cr1+eq, eq454; CHECK-P10-NEXT:    setbc r3, 4*cr5+lt455; CHECK-P10-NEXT:    blr456entry:457  %tobool = icmp ne i32 %v1, 0458  %lnot = icmp eq i32 %v2, 0459  %and3 = and i1 %tobool, %lnot460  %and = zext i1 %and3 to i32461  ret i32 %and462 463 464}465 466attributes #0 = { nounwind readnone }467 468