141 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 32; RUN: opt -passes=slp-vectorizer -S -mtriple=x86_64-unknown-linux < %s | FileCheck %s3 4define i32 @test(ptr %p) {5; CHECK-LABEL: define i32 @test6; CHECK-SAME: (ptr [[P:%.*]]) {7; CHECK-NEXT: entry:8; CHECK-NEXT: [[IDX4:%.*]] = getelementptr i32, ptr [[P]], i64 89; CHECK-NEXT: store i32 0, ptr [[IDX4]], align 410; CHECK-NEXT: [[IDX5:%.*]] = getelementptr i32, ptr [[P]], i64 1011; CHECK-NEXT: store i32 0, ptr [[IDX5]], align 412; CHECK-NEXT: [[IDX6:%.*]] = getelementptr i32, ptr [[P]], i64 1213; CHECK-NEXT: store i32 0, ptr [[IDX6]], align 414; CHECK-NEXT: [[IDX7:%.*]] = getelementptr i32, ptr [[P]], i64 1415; CHECK-NEXT: store i32 0, ptr [[IDX7]], align 416; CHECK-NEXT: [[IDX8:%.*]] = getelementptr i32, ptr [[P]], i64 1617; CHECK-NEXT: store i32 0, ptr [[IDX8]], align 418; CHECK-NEXT: [[IDX9:%.*]] = getelementptr i32, ptr [[P]], i64 1819; CHECK-NEXT: store i32 0, ptr [[IDX9]], align 420; CHECK-NEXT: [[IDX10:%.*]] = getelementptr i32, ptr [[P]], i64 2021; CHECK-NEXT: store i32 0, ptr [[IDX10]], align 422; CHECK-NEXT: [[IDX11:%.*]] = getelementptr i32, ptr [[P]], i64 2223; CHECK-NEXT: store i32 0, ptr [[IDX11]], align 424; CHECK-NEXT: [[IDX12:%.*]] = getelementptr i32, ptr [[P]], i64 2425; CHECK-NEXT: store i32 0, ptr [[IDX12]], align 426; CHECK-NEXT: [[IDX13:%.*]] = getelementptr i32, ptr [[P]], i64 2627; CHECK-NEXT: store i32 0, ptr [[IDX13]], align 428; CHECK-NEXT: [[IDX14:%.*]] = getelementptr i32, ptr [[P]], i64 2829; CHECK-NEXT: store i32 0, ptr [[IDX14]], align 430; CHECK-NEXT: [[IDX15:%.*]] = getelementptr i32, ptr [[P]], i64 3031; CHECK-NEXT: store i32 0, ptr [[IDX15]], align 432; CHECK-NEXT: [[IDX16:%.*]] = getelementptr i32, ptr [[P]], i64 3233; CHECK-NEXT: store i32 0, ptr [[IDX16]], align 434; CHECK-NEXT: [[IDX18:%.*]] = getelementptr i32, ptr [[P]], i64 3635; CHECK-NEXT: store i32 0, ptr [[IDX18]], align 436; CHECK-NEXT: [[IDX19:%.*]] = getelementptr i32, ptr [[P]], i64 3837; CHECK-NEXT: store i32 0, ptr [[IDX19]], align 438; CHECK-NEXT: [[IDX20:%.*]] = getelementptr i32, ptr [[P]], i64 4039; CHECK-NEXT: store i32 0, ptr [[IDX20]], align 440; CHECK-NEXT: [[IDX21:%.*]] = getelementptr i32, ptr [[P]], i64 4241; CHECK-NEXT: store i32 0, ptr [[IDX21]], align 442; CHECK-NEXT: [[IDX22:%.*]] = getelementptr i32, ptr [[P]], i64 4443; CHECK-NEXT: store i32 0, ptr [[IDX22]], align 444; CHECK-NEXT: [[IDX23:%.*]] = getelementptr i32, ptr [[P]], i64 4645; CHECK-NEXT: store i32 0, ptr [[IDX23]], align 446; CHECK-NEXT: [[IDX24:%.*]] = getelementptr i32, ptr [[P]], i64 4847; CHECK-NEXT: store i32 0, ptr [[IDX24]], align 448; CHECK-NEXT: [[IDX25:%.*]] = getelementptr i32, ptr [[P]], i64 5049; CHECK-NEXT: store i32 0, ptr [[IDX25]], align 450; CHECK-NEXT: [[IDX26:%.*]] = getelementptr i32, ptr [[P]], i64 5251; CHECK-NEXT: store i32 0, ptr [[IDX26]], align 452; CHECK-NEXT: [[IDX27:%.*]] = getelementptr i32, ptr [[P]], i64 5453; CHECK-NEXT: store i32 0, ptr [[IDX27]], align 454; CHECK-NEXT: [[IDX28:%.*]] = getelementptr i32, ptr [[P]], i64 5655; CHECK-NEXT: store i32 0, ptr [[IDX28]], align 456; CHECK-NEXT: [[IDX29:%.*]] = getelementptr i32, ptr [[P]], i64 5857; CHECK-NEXT: store i32 0, ptr [[IDX29]], align 458; CHECK-NEXT: [[IDX30:%.*]] = getelementptr i32, ptr [[P]], i64 6059; CHECK-NEXT: store i32 0, ptr [[IDX30]], align 460; CHECK-NEXT: [[IDX31:%.*]] = getelementptr i32, ptr [[P]], i64 6261; CHECK-NEXT: store i32 0, ptr [[IDX31]], align 462; CHECK-NEXT: [[IDX32:%.*]] = getelementptr i32, ptr [[P]], i64 6463; CHECK-NEXT: store i32 0, ptr [[IDX32]], align 464; CHECK-NEXT: [[IDX33:%.*]] = getelementptr i32, ptr [[P]], i64 6665; CHECK-NEXT: store i32 0, ptr [[IDX33]], align 466; CHECK-NEXT: store i32 0, ptr [[P]], align 467; CHECK-NEXT: [[IDX0:%.*]] = getelementptr i32, ptr [[P]], i64 368; CHECK-NEXT: store <4 x i32> zeroinitializer, ptr [[IDX0]], align 469; CHECK-NEXT: ret i32 070;71entry:72 %idx2 = getelementptr i32, ptr %p, i64 473 store i32 0, ptr %idx2, align 474 %idx3 = getelementptr i32, ptr %p, i64 675 store i32 0, ptr %idx3, align 476 %idx4 = getelementptr i32, ptr %p, i64 877 store i32 0, ptr %idx4, align 478 %idx5 = getelementptr i32, ptr %p, i64 1079 store i32 0, ptr %idx5, align 480 %idx6 = getelementptr i32, ptr %p, i64 1281 store i32 0, ptr %idx6, align 482 %idx7 = getelementptr i32, ptr %p, i64 1483 store i32 0, ptr %idx7, align 484 %idx8 = getelementptr i32, ptr %p, i64 1685 store i32 0, ptr %idx8, align 486 %idx9 = getelementptr i32, ptr %p, i64 1887 store i32 0, ptr %idx9, align 488 %idx10 = getelementptr i32, ptr %p, i64 2089 store i32 0, ptr %idx10, align 490 %idx11 = getelementptr i32, ptr %p, i64 2291 store i32 0, ptr %idx11, align 492 %idx12 = getelementptr i32, ptr %p, i64 2493 store i32 0, ptr %idx12, align 494 %idx13 = getelementptr i32, ptr %p, i64 2695 store i32 0, ptr %idx13, align 496 %idx14 = getelementptr i32, ptr %p, i64 2897 store i32 0, ptr %idx14, align 498 %idx15 = getelementptr i32, ptr %p, i64 3099 store i32 0, ptr %idx15, align 4100 %idx16 = getelementptr i32, ptr %p, i64 32101 store i32 0, ptr %idx16, align 4102 %idx18 = getelementptr i32, ptr %p, i64 36103 store i32 0, ptr %idx18, align 4104 %idx19 = getelementptr i32, ptr %p, i64 38105 store i32 0, ptr %idx19, align 4106 %idx20 = getelementptr i32, ptr %p, i64 40107 store i32 0, ptr %idx20, align 4108 %idx21 = getelementptr i32, ptr %p, i64 42109 store i32 0, ptr %idx21, align 4110 %idx22 = getelementptr i32, ptr %p, i64 44111 store i32 0, ptr %idx22, align 4112 %idx23 = getelementptr i32, ptr %p, i64 46113 store i32 0, ptr %idx23, align 4114 %idx24 = getelementptr i32, ptr %p, i64 48115 store i32 0, ptr %idx24, align 4116 %idx25 = getelementptr i32, ptr %p, i64 50117 store i32 0, ptr %idx25, align 4118 %idx26 = getelementptr i32, ptr %p, i64 52119 store i32 0, ptr %idx26, align 4120 %idx27 = getelementptr i32, ptr %p, i64 54121 store i32 0, ptr %idx27, align 4122 %idx28 = getelementptr i32, ptr %p, i64 56123 store i32 0, ptr %idx28, align 4124 %idx29 = getelementptr i32, ptr %p, i64 58125 store i32 0, ptr %idx29, align 4126 %idx30 = getelementptr i32, ptr %p, i64 60127 store i32 0, ptr %idx30, align 4128 %idx31 = getelementptr i32, ptr %p, i64 62129 store i32 0, ptr %idx31, align 4130 %idx32 = getelementptr i32, ptr %p, i64 64131 store i32 0, ptr %idx32, align 4132 %idx33 = getelementptr i32, ptr %p, i64 66133 store i32 0, ptr %idx33, align 4134 store i32 0, ptr %p, align 4135 %idx0 = getelementptr i32, ptr %p, i64 3136 store i32 0, ptr %idx0, align 4137 %idx1 = getelementptr i32, ptr %p, i64 5138 store i32 0, ptr %idx1, align 4139 ret i32 0140}141