112 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=powerpc64le < %s | FileCheck %s3 4define void @test(ptr %p1, ptr %p2) nounwind {5; CHECK-LABEL: test:6; CHECK: # %bb.0:7; CHECK-NEXT: mflr 08; CHECK-NEXT: stdu 1, -224(1)9; CHECK-NEXT: li 5, 4810; CHECK-NEXT: std 0, 240(1)11; CHECK-NEXT: std 27, 184(1) # 8-byte Folded Spill12; CHECK-NEXT: li 27, 1613; CHECK-NEXT: std 28, 192(1) # 8-byte Folded Spill14; CHECK-NEXT: std 29, 200(1) # 8-byte Folded Spill15; CHECK-NEXT: li 29, 3216; CHECK-NEXT: li 28, 4817; CHECK-NEXT: stxvd2x 56, 1, 5 # 16-byte Folded Spill18; CHECK-NEXT: li 5, 6419; CHECK-NEXT: std 30, 208(1) # 8-byte Folded Spill20; CHECK-NEXT: mr 30, 421; CHECK-NEXT: stxvd2x 57, 1, 5 # 16-byte Folded Spill22; CHECK-NEXT: li 5, 8023; CHECK-NEXT: stxvd2x 58, 1, 5 # 16-byte Folded Spill24; CHECK-NEXT: li 5, 9625; CHECK-NEXT: lxvd2x 58, 0, 326; CHECK-NEXT: stxvd2x 59, 1, 5 # 16-byte Folded Spill27; CHECK-NEXT: li 5, 11228; CHECK-NEXT: lxvd2x 59, 3, 2729; CHECK-NEXT: stxvd2x 60, 1, 5 # 16-byte Folded Spill30; CHECK-NEXT: li 5, 12831; CHECK-NEXT: stxvd2x 61, 1, 5 # 16-byte Folded Spill32; CHECK-NEXT: li 5, 14433; CHECK-NEXT: stxvd2x 62, 1, 5 # 16-byte Folded Spill34; CHECK-NEXT: li 5, 16035; CHECK-NEXT: lxvd2x 62, 3, 2836; CHECK-NEXT: stxvd2x 63, 1, 5 # 16-byte Folded Spill37; CHECK-NEXT: lxvd2x 63, 3, 2938; CHECK-NEXT: xxswapd 57, 5839; CHECK-NEXT: xxswapd 1, 5940; CHECK-NEXT: xxswapd 60, 6241; CHECK-NEXT: xxswapd 61, 6342; CHECK-NEXT: bl roundeven43; CHECK-NEXT: nop44; CHECK-NEXT: xxswapd 56, 145; CHECK-NEXT: xxlor 1, 59, 5946; CHECK-NEXT: bl roundeven47; CHECK-NEXT: nop48; CHECK-NEXT: xxswapd 0, 149; CHECK-NEXT: xxlor 1, 60, 6050; CHECK-NEXT: xxmrgld 59, 0, 5651; CHECK-NEXT: bl roundeven52; CHECK-NEXT: nop53; CHECK-NEXT: xxswapd 60, 154; CHECK-NEXT: xxlor 1, 62, 6255; CHECK-NEXT: bl roundeven56; CHECK-NEXT: nop57; CHECK-NEXT: xxswapd 0, 158; CHECK-NEXT: xxlor 1, 61, 6159; CHECK-NEXT: xxmrgld 62, 0, 6060; CHECK-NEXT: bl roundeven61; CHECK-NEXT: nop62; CHECK-NEXT: xxswapd 61, 163; CHECK-NEXT: xxlor 1, 63, 6364; CHECK-NEXT: bl roundeven65; CHECK-NEXT: nop66; CHECK-NEXT: xxswapd 0, 167; CHECK-NEXT: xxlor 1, 57, 5768; CHECK-NEXT: xxmrgld 63, 0, 6169; CHECK-NEXT: bl roundeven70; CHECK-NEXT: nop71; CHECK-NEXT: xxswapd 61, 172; CHECK-NEXT: xxlor 1, 58, 5873; CHECK-NEXT: bl roundeven74; CHECK-NEXT: nop75; CHECK-NEXT: li 3, 16076; CHECK-NEXT: stxvd2x 63, 30, 2977; CHECK-NEXT: xxswapd 0, 178; CHECK-NEXT: stxvd2x 62, 30, 2879; CHECK-NEXT: stxvd2x 59, 30, 2780; CHECK-NEXT: ld 29, 200(1) # 8-byte Folded Reload81; CHECK-NEXT: ld 28, 192(1) # 8-byte Folded Reload82; CHECK-NEXT: ld 27, 184(1) # 8-byte Folded Reload83; CHECK-NEXT: lxvd2x 63, 1, 3 # 16-byte Folded Reload84; CHECK-NEXT: li 3, 14485; CHECK-NEXT: xxmrgld 0, 0, 6186; CHECK-NEXT: lxvd2x 62, 1, 3 # 16-byte Folded Reload87; CHECK-NEXT: li 3, 12888; CHECK-NEXT: stxvd2x 0, 0, 3089; CHECK-NEXT: ld 30, 208(1) # 8-byte Folded Reload90; CHECK-NEXT: lxvd2x 61, 1, 3 # 16-byte Folded Reload91; CHECK-NEXT: li 3, 11292; CHECK-NEXT: lxvd2x 60, 1, 3 # 16-byte Folded Reload93; CHECK-NEXT: li 3, 9694; CHECK-NEXT: lxvd2x 59, 1, 3 # 16-byte Folded Reload95; CHECK-NEXT: li 3, 8096; CHECK-NEXT: lxvd2x 58, 1, 3 # 16-byte Folded Reload97; CHECK-NEXT: li 3, 6498; CHECK-NEXT: lxvd2x 57, 1, 3 # 16-byte Folded Reload99; CHECK-NEXT: li 3, 48100; CHECK-NEXT: lxvd2x 56, 1, 3 # 16-byte Folded Reload101; CHECK-NEXT: addi 1, 1, 224102; CHECK-NEXT: ld 0, 16(1)103; CHECK-NEXT: mtlr 0104; CHECK-NEXT: blr105 %v = load <8 x double>, ptr %p1, align 64106 %res = call <8 x double> @llvm.roundeven.v8f64(<8 x double> %v)107 store <8 x double> %res, ptr %p2, align 64108 ret void109}110 111declare <8 x double> @llvm.roundeven.v8f64(<8 x double>)112