brintos

brintos / llvm-project-archived public Read only

0
0
Text · 15.5 KiB · 0fdfa00 Raw
360 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2 3@d = external global <16 x i32>, align 644 5; CHECK-LABEL: test1:6; CHECK: q{{[0-9]}} &= vcmp.eq(v{{[0-9]+}}.b,v{{[0-9]+}}.b)7define void @test1(<16 x i32> %a, <16 x i32> %b) #0 {8entry:9  %v0 = load <16 x i32>, ptr @d, align 6410  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)11  %v2 = tail call <64 x i1> @llvm.hexagon.V6.veqb.and(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)12  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)13  store <16 x i32> %v3, ptr @d, align 6414  ret void15}16 17; CHECK-LABEL: test2:18; CHECK: q{{[0-9]}} &= vcmp.eq(v{{[0-9]+}}.h,v{{[0-9]+}}.h)19define void @test2(<16 x i32> %a, <16 x i32> %b) #0 {20entry:21  %v0 = load <16 x i32>, ptr @d, align 6422  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)23  %v2 = tail call <64 x i1> @llvm.hexagon.V6.veqh.and(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)24  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)25  store <16 x i32> %v3, ptr @d, align 6426  ret void27}28 29; CHECK-LABEL: test3:30; CHECK: q{{[0-9]}} &= vcmp.eq(v{{[0-9]+}}.w,v{{[0-9]+}}.w)31define void @test3(<16 x i32> %a, <16 x i32> %b) #0 {32entry:33  %v0 = load <16 x i32>, ptr @d, align 6434  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)35  %v2 = tail call <64 x i1> @llvm.hexagon.V6.veqw.and(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)36  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)37  store <16 x i32> %v3, ptr @d, align 6438  ret void39}40 41; CHECK-LABEL: test4:42; CHECK: q{{[0-9]}} &= vcmp.gt(v{{[0-9]+}}.b,v{{[0-9]+}}.b)43define void @test4(<16 x i32> %a, <16 x i32> %b) #0 {44entry:45  %v0 = load <16 x i32>, ptr @d, align 6446  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)47  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgtb.and(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)48  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)49  store <16 x i32> %v3, ptr @d, align 6450  ret void51}52 53; CHECK-LABEL: test5:54; CHECK: q{{[0-9]}} &= vcmp.gt(v{{[0-9]+}}.h,v{{[0-9]+}}.h)55define void @test5(<16 x i32> %a, <16 x i32> %b) #0 {56entry:57  %v0 = load <16 x i32>, ptr @d, align 6458  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)59  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgth.and(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)60  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)61  store <16 x i32> %v3, ptr @d, align 6462  ret void63}64 65; CHECK-LABEL: test6:66; CHECK: q{{[0-9]}} &= vcmp.gt(v{{[0-9]+}}.w,v{{[0-9]+}}.w)67define void @test6(<16 x i32> %a, <16 x i32> %b) #0 {68entry:69  %v0 = load <16 x i32>, ptr @d, align 6470  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)71  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgtw.and(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)72  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)73  store <16 x i32> %v3, ptr @d, align 6474  ret void75}76 77; CHECK-LABEL: test7:78; CHECK: q{{[0-9]}} &= vcmp.gt(v{{[0-9]+}}.ub,v{{[0-9]+}}.ub)79define void @test7(<16 x i32> %a, <16 x i32> %b) #0 {80entry:81  %v0 = load <16 x i32>, ptr @d, align 6482  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)83  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgtub.and(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)84  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)85  store <16 x i32> %v3, ptr @d, align 6486  ret void87}88 89; CHECK-LABEL: test8:90; CHECK: q{{[0-9]}} &= vcmp.gt(v{{[0-9]+}}.uh,v{{[0-9]+}}.uh)91define void @test8(<16 x i32> %a, <16 x i32> %b) #0 {92entry:93  %v0 = load <16 x i32>, ptr @d, align 6494  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)95  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgtuh.and(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)96  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)97  store <16 x i32> %v3, ptr @d, align 6498  ret void99}100 101; CHECK-LABEL: test9:102; CHECK: q{{[0-9]}} &= vcmp.gt(v{{[0-9]+}}.uw,v{{[0-9]+}}.uw)103define void @test9(<16 x i32> %a, <16 x i32> %b) #0 {104entry:105  %v0 = load <16 x i32>, ptr @d, align 64106  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)107  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgtuw.and(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)108  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)109  store <16 x i32> %v3, ptr @d, align 64110  ret void111}112 113; CHECK-LABEL: test10:114; CHECK: q{{[0-9]}} |= vcmp.eq(v{{[0-9]+}}.b,v{{[0-9]+}}.b)115define void @test10(<16 x i32> %a, <16 x i32> %b) #0 {116entry:117  %v0 = load <16 x i32>, ptr @d, align 64118  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)119  %v2 = tail call <64 x i1> @llvm.hexagon.V6.veqb.or(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)120  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)121  store <16 x i32> %v3, ptr @d, align 64122  ret void123}124 125; CHECK-LABEL: test11:126; CHECK: q{{[0-9]}} |= vcmp.eq(v{{[0-9]+}}.h,v{{[0-9]+}}.h)127define void @test11(<16 x i32> %a, <16 x i32> %b) #0 {128entry:129  %v0 = load <16 x i32>, ptr @d, align 64130  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)131  %v2 = tail call <64 x i1> @llvm.hexagon.V6.veqh.or(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)132  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)133  store <16 x i32> %v3, ptr @d, align 64134  ret void135}136 137; CHECK-LABEL: test12:138; CHECK: q{{[0-9]}} |= vcmp.eq(v{{[0-9]+}}.w,v{{[0-9]+}}.w)139define void @test12(<16 x i32> %a, <16 x i32> %b) #0 {140entry:141  %v0 = load <16 x i32>, ptr @d, align 64142  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)143  %v2 = tail call <64 x i1> @llvm.hexagon.V6.veqw.or(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)144  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)145  store <16 x i32> %v3, ptr @d, align 64146  ret void147}148 149; CHECK-LABEL: test13:150; CHECK: q{{[0-9]}} |= vcmp.gt(v{{[0-9]+}}.b,v{{[0-9]+}}.b)151define void @test13(<16 x i32> %a, <16 x i32> %b) #0 {152entry:153  %v0 = load <16 x i32>, ptr @d, align 64154  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)155  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgtb.or(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)156  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)157  store <16 x i32> %v3, ptr @d, align 64158  ret void159}160 161; CHECK-LABEL: test14:162; CHECK: q{{[0-9]}} |= vcmp.gt(v{{[0-9]+}}.h,v{{[0-9]+}}.h)163define void @test14(<16 x i32> %a, <16 x i32> %b) #0 {164entry:165  %v0 = load <16 x i32>, ptr @d, align 64166  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)167  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgth.or(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)168  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)169  store <16 x i32> %v3, ptr @d, align 64170  ret void171}172 173; CHECK-LABEL: test15:174; CHECK: q{{[0-9]}} |= vcmp.gt(v{{[0-9]+}}.w,v{{[0-9]+}}.w)175define void @test15(<16 x i32> %a, <16 x i32> %b) #0 {176entry:177  %v0 = load <16 x i32>, ptr @d, align 64178  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)179  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgtw.or(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)180  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)181  store <16 x i32> %v3, ptr @d, align 64182  ret void183}184 185; CHECK-LABEL: test16:186; CHECK: q{{[0-9]}} |= vcmp.gt(v{{[0-9]+}}.ub,v{{[0-9]+}}.ub)187define void @test16(<16 x i32> %a, <16 x i32> %b) #0 {188entry:189  %v0 = load <16 x i32>, ptr @d, align 64190  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)191  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgtub.or(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)192  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)193  store <16 x i32> %v3, ptr @d, align 64194  ret void195}196 197; CHECK-LABEL: test17:198; CHECK: q{{[0-9]}} |= vcmp.gt(v{{[0-9]+}}.uh,v{{[0-9]+}}.uh)199define void @test17(<16 x i32> %a, <16 x i32> %b) #0 {200entry:201  %v0 = load <16 x i32>, ptr @d, align 64202  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)203  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgtuh.or(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)204  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)205  store <16 x i32> %v3, ptr @d, align 64206  ret void207}208 209; CHECK-LABEL: test18:210; CHECK: q{{[0-9]}} |= vcmp.gt(v{{[0-9]+}}.uw,v{{[0-9]+}}.uw)211define void @test18(<16 x i32> %a, <16 x i32> %b) #0 {212entry:213  %v0 = load <16 x i32>, ptr @d, align 64214  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)215  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgtuw.or(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)216  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)217  store <16 x i32> %v3, ptr @d, align 64218  ret void219}220 221; CHECK-LABEL: test19:222; CHECK: q{{[0-9]}} ^= vcmp.eq(v{{[0-9]+}}.b,v{{[0-9]+}}.b)223define void @test19(<16 x i32> %a, <16 x i32> %b) #0 {224entry:225  %v0 = load <16 x i32>, ptr @d, align 64226  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)227  %v2 = tail call <64 x i1> @llvm.hexagon.V6.veqb.xor(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)228  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)229  store <16 x i32> %v3, ptr @d, align 64230  ret void231}232 233; CHECK-LABEL: test20:234; CHECK: q{{[0-9]}} ^= vcmp.eq(v{{[0-9]+}}.h,v{{[0-9]+}}.h)235define void @test20(<16 x i32> %a, <16 x i32> %b) #0 {236entry:237  %v0 = load <16 x i32>, ptr @d, align 64238  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)239  %v2 = tail call <64 x i1> @llvm.hexagon.V6.veqh.xor(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)240  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)241  store <16 x i32> %v3, ptr @d, align 64242  ret void243}244 245; CHECK-LABEL: test21:246; CHECK: q{{[0-9]}} ^= vcmp.eq(v{{[0-9]+}}.w,v{{[0-9]+}}.w)247define void @test21(<16 x i32> %a, <16 x i32> %b) #0 {248entry:249  %v0 = load <16 x i32>, ptr @d, align 64250  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)251  %v2 = tail call <64 x i1> @llvm.hexagon.V6.veqw.xor(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)252  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)253  store <16 x i32> %v3, ptr @d, align 64254  ret void255}256 257; CHECK-LABEL: test22:258; CHECK: q{{[0-9]}} ^= vcmp.gt(v{{[0-9]+}}.b,v{{[0-9]+}}.b)259define void @test22(<16 x i32> %a, <16 x i32> %b) #0 {260entry:261  %v0 = load <16 x i32>, ptr @d, align 64262  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)263  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgtb.xor(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)264  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)265  store <16 x i32> %v3, ptr @d, align 64266  ret void267}268 269; CHECK-LABEL: test23:270; CHECK: q{{[0-9]}} ^= vcmp.gt(v{{[0-9]+}}.h,v{{[0-9]+}}.h)271define void @test23(<16 x i32> %a, <16 x i32> %b) #0 {272entry:273  %v0 = load <16 x i32>, ptr @d, align 64274  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)275  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgth.xor(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)276  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)277  store <16 x i32> %v3, ptr @d, align 64278  ret void279}280 281; CHECK-LABEL: test24:282; CHECK: q{{[0-9]}} ^= vcmp.gt(v{{[0-9]+}}.w,v{{[0-9]+}}.w)283define void @test24(<16 x i32> %a, <16 x i32> %b) #0 {284entry:285  %v0 = load <16 x i32>, ptr @d, align 64286  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)287  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgtw.xor(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)288  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)289  store <16 x i32> %v3, ptr @d, align 64290  ret void291}292 293; CHECK-LABEL: test25:294; CHECK: q{{[0-9]}} ^= vcmp.gt(v{{[0-9]+}}.ub,v{{[0-9]+}}.ub)295define void @test25(<16 x i32> %a, <16 x i32> %b) #0 {296entry:297  %v0 = load <16 x i32>, ptr @d, align 64298  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)299  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgtub.xor(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)300  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)301  store <16 x i32> %v3, ptr @d, align 64302  ret void303}304 305; CHECK-LABEL: test26:306; CHECK: q{{[0-9]}} ^= vcmp.gt(v{{[0-9]+}}.uh,v{{[0-9]+}}.uh)307define void @test26(<16 x i32> %a, <16 x i32> %b) #0 {308entry:309  %v0 = load <16 x i32>, ptr @d, align 64310  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)311  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgtuh.xor(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)312  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)313  store <16 x i32> %v3, ptr @d, align 64314  ret void315}316 317; CHECK-LABEL: test27:318; CHECK: q{{[0-9]}} ^= vcmp.gt(v{{[0-9]+}}.uw,v{{[0-9]+}}.uw)319define void @test27(<16 x i32> %a, <16 x i32> %b) #0 {320entry:321  %v0 = load <16 x i32>, ptr @d, align 64322  %v1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %v0, i32 -1)323  %v2 = tail call <64 x i1> @llvm.hexagon.V6.vgtuw.xor(<64 x i1> %v1, <16 x i32> %a, <16 x i32> %b)324  %v3 = tail call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %v2, i32 -1)325  store <16 x i32> %v3, ptr @d, align 64326  ret void327}328 329declare <64 x i1> @llvm.hexagon.V6.veqb.and(<64 x i1>, <16 x i32>, <16 x i32>) #0330declare <64 x i1> @llvm.hexagon.V6.veqh.and(<64 x i1>, <16 x i32>, <16 x i32>) #0331declare <64 x i1> @llvm.hexagon.V6.veqw.and(<64 x i1>, <16 x i32>, <16 x i32>) #0332declare <64 x i1> @llvm.hexagon.V6.vgtb.and(<64 x i1>, <16 x i32>, <16 x i32>) #0333declare <64 x i1> @llvm.hexagon.V6.vgth.and(<64 x i1>, <16 x i32>, <16 x i32>) #0334declare <64 x i1> @llvm.hexagon.V6.vgtw.and(<64 x i1>, <16 x i32>, <16 x i32>) #0335declare <64 x i1> @llvm.hexagon.V6.vgtub.and(<64 x i1>, <16 x i32>, <16 x i32>) #0336declare <64 x i1> @llvm.hexagon.V6.vgtuh.and(<64 x i1>, <16 x i32>, <16 x i32>) #0337declare <64 x i1> @llvm.hexagon.V6.vgtuw.and(<64 x i1>, <16 x i32>, <16 x i32>) #0338declare <64 x i1> @llvm.hexagon.V6.veqb.or(<64 x i1>, <16 x i32>, <16 x i32>) #0339declare <64 x i1> @llvm.hexagon.V6.veqh.or(<64 x i1>, <16 x i32>, <16 x i32>) #0340declare <64 x i1> @llvm.hexagon.V6.veqw.or(<64 x i1>, <16 x i32>, <16 x i32>) #0341declare <64 x i1> @llvm.hexagon.V6.vgtb.or(<64 x i1>, <16 x i32>, <16 x i32>) #0342declare <64 x i1> @llvm.hexagon.V6.vgth.or(<64 x i1>, <16 x i32>, <16 x i32>) #0343declare <64 x i1> @llvm.hexagon.V6.vgtw.or(<64 x i1>, <16 x i32>, <16 x i32>) #0344declare <64 x i1> @llvm.hexagon.V6.vgtub.or(<64 x i1>, <16 x i32>, <16 x i32>) #0345declare <64 x i1> @llvm.hexagon.V6.vgtuh.or(<64 x i1>, <16 x i32>, <16 x i32>) #0346declare <64 x i1> @llvm.hexagon.V6.vgtuw.or(<64 x i1>, <16 x i32>, <16 x i32>) #0347declare <64 x i1> @llvm.hexagon.V6.veqb.xor(<64 x i1>, <16 x i32>, <16 x i32>) #0348declare <64 x i1> @llvm.hexagon.V6.veqh.xor(<64 x i1>, <16 x i32>, <16 x i32>) #0349declare <64 x i1> @llvm.hexagon.V6.veqw.xor(<64 x i1>, <16 x i32>, <16 x i32>) #0350declare <64 x i1> @llvm.hexagon.V6.vgtb.xor(<64 x i1>, <16 x i32>, <16 x i32>) #0351declare <64 x i1> @llvm.hexagon.V6.vgth.xor(<64 x i1>, <16 x i32>, <16 x i32>) #0352declare <64 x i1> @llvm.hexagon.V6.vgtw.xor(<64 x i1>, <16 x i32>, <16 x i32>) #0353declare <64 x i1> @llvm.hexagon.V6.vgtub.xor(<64 x i1>, <16 x i32>, <16 x i32>) #0354declare <64 x i1> @llvm.hexagon.V6.vgtuh.xor(<64 x i1>, <16 x i32>, <16 x i32>) #0355declare <64 x i1> @llvm.hexagon.V6.vgtuw.xor(<64 x i1>, <16 x i32>, <16 x i32>) #0356declare <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1>, i32) #0357declare <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32>, i32) #0358 359attributes #0 = { nounwind readnone "target-cpu"="hexagonv60" "target-features"="+hvxv60,+hvx-length64b" }360