brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.4 KiB · f92248e Raw
154 lines · plain
1; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s2 3define void @nop_test() {4entry:5; CHECK-LABEL: nop_test:6 7; 28; CHECK:      bcr 0, %r09 10; 411; CHECK:      bc 0, 012 13; 614; CHECK:      .Ltmp15; CHECK-NEXT: [[LAB:.Ltmp[0-9]+]]:16; CHECK-NEXT: brcl 0, [[LAB]]17 18; 819; CHECK:      .Ltmp20; CHECK-NEXT: [[LAB:.Ltmp[0-9]+]]:21; CHECK-NEXT: brcl 0, [[LAB]]22; CHECK:      bcr 0, %r023 24; 1025; CHECK:      .Ltmp26; CHECK-NEXT: [[LAB:.Ltmp[0-9]+]]:27; CHECK-NEXT: brcl 0, [[LAB]]28; CHECK:      bc 0, 029 30; 1231; CHECK:      .Ltmp32; CHECK-NEXT: [[LAB:.Ltmp[0-9]+]]:33; CHECK-NEXT: brcl 0, [[LAB]]34; CHECK:      [[LAB:.Ltmp[0-9]+]]:35; CHECK-NEXT: brcl 0, [[LAB]]36 37; 1438; CHECK:      .Ltmp39; CHECK-NEXT: [[LAB:.Ltmp[0-9]+]]:40; CHECK-NEXT: brcl 0, [[LAB]]41; CHECK:      [[LAB:.Ltmp[0-9]+]]:42; CHECK-NEXT: brcl 0, [[LAB]]43; CHECK:      bcr 0, %r044 45; 1646; CHECK:      .Ltmp47; CHECK-NEXT: [[LAB:.Ltmp[0-9]+]]:48; CHECK-NEXT: brcl 0, [[LAB]]49; CHECK:      [[LAB:.Ltmp[0-9]+]]:50; CHECK-NEXT: brcl 0, [[LAB]]51; CHECK:      bc 0, 052 53; 1854; CHECK:      .Ltmp55; CHECK-NEXT: [[LAB:.Ltmp[0-9]+]]:56; CHECK-NEXT: brcl 0, [[LAB]]57; CHECK:      [[LAB:.Ltmp[0-9]+]]:58; CHECK-NEXT: brcl 0, [[LAB]]59; CHECK:      [[LAB:.Ltmp[0-9]+]]:60; CHECK-NEXT: brcl 0, [[LAB]]61 62; 2063; CHECK:      .Ltmp64; CHECK-NEXT: [[LAB:.Ltmp[0-9]+]]:65; CHECK-NEXT: brcl 0, [[LAB]]66; CHECK:      [[LAB:.Ltmp[0-9]+]]:67; CHECK-NEXT: brcl 0, [[LAB]]68; CHECK:      [[LAB:.Ltmp[0-9]+]]:69; CHECK-NEXT: brcl 0, [[LAB]]70; CHECK:      bcr 0, %r071 72; 2273; CHECK:      .Ltmp74; CHECK-NEXT: [[LAB:.Ltmp[0-9]+]]:75; CHECK-NEXT: brcl 0, [[LAB]]76; CHECK:      [[LAB:.Ltmp[0-9]+]]:77; CHECK-NEXT: brcl 0, [[LAB]]78; CHECK:      [[LAB:.Ltmp[0-9]+]]:79; CHECK-NEXT: brcl 0, [[LAB]]80; CHECK:      bc 0, 081 82; 2483; CHECK:      .Ltmp84; CHECK-NEXT: [[LAB:.Ltmp[0-9]+]]:85; CHECK-NEXT: brcl 0, [[LAB]]86; CHECK:      [[LAB:.Ltmp[0-9]+]]:87; CHECK-NEXT: brcl 0, [[LAB]]88; CHECK:      [[LAB:.Ltmp[0-9]+]]:89; CHECK-NEXT: brcl 0, [[LAB]]90; CHECK:      [[LAB:.Ltmp[0-9]+]]:91; CHECK-NEXT: brcl 0, [[LAB]]92 93; 2694; CHECK:      .Ltmp95; CHECK-NEXT: [[LAB:.Ltmp[0-9]+]]:96; CHECK-NEXT: brcl 0, [[LAB]]97; CHECK:      [[LAB:.Ltmp[0-9]+]]:98; CHECK-NEXT: brcl 0, [[LAB]]99; CHECK:      [[LAB:.Ltmp[0-9]+]]:100; CHECK-NEXT: brcl 0, [[LAB]]101; CHECK:      [[LAB:.Ltmp[0-9]+]]:102; CHECK-NEXT: brcl 0, [[LAB]]103; CHECK:      bcr 0, %r0104 105; 28106; CHECK:      .Ltmp107; CHECK-NEXT: [[LAB:.Ltmp[0-9]+]]:108; CHECK-NEXT: brcl 0, [[LAB]]109; CHECK:      [[LAB:.Ltmp[0-9]+]]:110; CHECK-NEXT: brcl 0, [[LAB]]111; CHECK:      [[LAB:.Ltmp[0-9]+]]:112; CHECK-NEXT: brcl 0, [[LAB]]113; CHECK:      [[LAB:.Ltmp[0-9]+]]:114; CHECK-NEXT: brcl 0, [[LAB]]115; CHECK:      bc 0, 0116 117; 30118; CHECK:      .Ltmp119; CHECK-NEXT: [[LAB:.Ltmp[0-9]+]]:120; CHECK-NEXT: brcl 0, [[LAB]]121; CHECK:      [[LAB:.Ltmp[0-9]+]]:122; CHECK-NEXT: brcl 0, [[LAB]]123; CHECK:      [[LAB:.Ltmp[0-9]+]]:124; CHECK-NEXT: brcl 0, [[LAB]]125; CHECK:      [[LAB:.Ltmp[0-9]+]]:126; CHECK-NEXT: brcl 0, [[LAB]]127; CHECK:      [[LAB:.Ltmp[0-9]+]]:128; CHECK-NEXT: brcl 0, [[LAB]]129 130  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  0, i32  0)131  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  2, i32  2)132  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  4, i32  4)133  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  6, i32  6)134  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  8, i32  8)135  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 10, i32 10)136  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 12, i32 12)137  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 14, i32 14)138  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 16, i32 16)139  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 18, i32 18)140  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 20, i32 20)141  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 22, i32 22)142  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 24, i32 24)143  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 26, i32 26)144  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 28, i32 28)145  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 30, i32 30)146; Add an extra stackmap with a zero-length shadow to thwart the shadow147; optimization. This will force all bytes of the previous shadow to be148; padded with nops.149  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 31, i32 0)150  ret void151}152 153declare void @llvm.experimental.stackmap(i64, i32, ...)154