brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.7 KiB · 18468d1 Raw
66 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 42; RUN: opt -S -passes=instcombine < %s | FileCheck %s3 4@c = global i32 0, align 45@b = global i32 0, align 46 7define void @masked_scatter1() {8; CHECK-LABEL: define void @masked_scatter1() {9; CHECK-NEXT:    call void @llvm.masked.scatter.nxv4i32.nxv4p0(<vscale x 4 x i32> zeroinitializer, <vscale x 4 x ptr> align 4 shufflevector (<vscale x 4 x ptr> insertelement (<vscale x 4 x ptr> poison, ptr @c, i64 0), <vscale x 4 x ptr> poison, <vscale x 4 x i32> zeroinitializer), <vscale x 4 x i1> shufflevector (<vscale x 4 x i1> insertelement (<vscale x 4 x i1> poison, i1 ptrtoint (ptr @b to i1), i64 0), <vscale x 4 x i1> poison, <vscale x 4 x i32> zeroinitializer))10; CHECK-NEXT:    ret void11;12  call void @llvm.masked.scatter.nxv4i32.nxv4p0(<vscale x 4 x i32> zeroinitializer, <vscale x 4 x ptr> splat (ptr @c), i32 4, <vscale x 4 x i1> splat (i1 ptrtoint (ptr @b to i1)))13  ret void14}15 16define void @masked_scatter2() {17; CHECK-LABEL: define void @masked_scatter2() {18; CHECK-NEXT:    store i32 0, ptr @c, align 419; CHECK-NEXT:    ret void20;21  call void @llvm.masked.scatter.v2i32.v2p0(<2 x i32> zeroinitializer, <2 x ptr> splat (ptr @c), i32 4, <2 x i1> splat (i1 true))22  ret void23}24 25define void @masked_scatter3() {26; CHECK-LABEL: define void @masked_scatter3() {27; CHECK-NEXT:    ret void28;29  call void @llvm.masked.scatter.v2i32.v2p0(<2 x i32> zeroinitializer, <2 x ptr> splat (ptr @c), i32 4, <2 x i1> undef)30  ret void31}32 33define void @masked_scatter4() {34; CHECK-LABEL: define void @masked_scatter4() {35; CHECK-NEXT:    ret void36;37  call void @llvm.masked.scatter.v2i32.v2p0(<2 x i32> zeroinitializer, <2 x ptr> splat (ptr @c), i32 4, <2 x i1> splat (i1 false))38  ret void39}40 41define void @masked_scatter5() {42; CHECK-LABEL: define void @masked_scatter5() {43; CHECK-NEXT:    store i32 0, ptr @c, align 444; CHECK-NEXT:    ret void45;46  call void @llvm.masked.scatter.v2i32.v2p0(<2 x i32> zeroinitializer, <2 x ptr> splat (ptr @c), i32 4, <2 x i1> <i1 true, i1 false>)47  ret void48}49 50define void @masked_scatter6() {51; CHECK-LABEL: define void @masked_scatter6() {52; CHECK-NEXT:    ret void53;54  call void @llvm.masked.scatter.v2i32.v2p0(<2 x i32> zeroinitializer, <2 x ptr> splat (ptr @c), i32 4, <2 x i1> <i1 undef, i1 false>)55  ret void56}57 58define void @masked_scatter7() {59; CHECK-LABEL: define void @masked_scatter7() {60; CHECK-NEXT:    call void @llvm.masked.scatter.v2i32.v2p0(<2 x i32> zeroinitializer, <2 x ptr> align 4 <ptr @c, ptr @c>, <2 x i1> <i1 ptrtoint (ptr @b to i1), i1 ptrtoint (ptr @b to i1)>)61; CHECK-NEXT:    ret void62;63  call void @llvm.masked.scatter.v2i32.v2p0(<2 x i32> zeroinitializer, <2 x ptr> splat (ptr @c), i32 4, <2 x i1> splat (i1 ptrtoint (ptr @b to i1)))64  ret void65}66