blob: a763bc0010cc68e4cae80005586d24eedd000344 [file] [log] [blame]
Craig Topperf87a2be2011-11-09 09:37:21 +00001; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=core-avx2 -mattr=+avx2 | FileCheck %s
2
3; CHECK: vpandn %ymm
4define <4 x i64> @vpandn(<4 x i64> %a, <4 x i64> %b) nounwind uwtable readnone ssp {
5entry:
6 ; Force the execution domain with an add.
7 %a2 = add <4 x i64> %a, <i64 1, i64 1, i64 1, i64 1>
8 %y = xor <4 x i64> %a2, <i64 -1, i64 -1, i64 -1, i64 -1>
9 %x = and <4 x i64> %a, %y
10 ret <4 x i64> %x
11}
12
13; CHECK: vpand %ymm
14define <4 x i64> @vpand(<4 x i64> %a, <4 x i64> %b) nounwind uwtable readnone ssp {
15entry:
16 ; Force the execution domain with an add.
17 %a2 = add <4 x i64> %a, <i64 1, i64 1, i64 1, i64 1>
18 %x = and <4 x i64> %a2, %b
19 ret <4 x i64> %x
20}
21
22; CHECK: vpor %ymm
23define <4 x i64> @vpor(<4 x i64> %a, <4 x i64> %b) nounwind uwtable readnone ssp {
24entry:
25 ; Force the execution domain with an add.
26 %a2 = add <4 x i64> %a, <i64 1, i64 1, i64 1, i64 1>
27 %x = or <4 x i64> %a2, %b
28 ret <4 x i64> %x
29}
30
31; CHECK: vpxor %ymm
32define <4 x i64> @vpxor(<4 x i64> %a, <4 x i64> %b) nounwind uwtable readnone ssp {
33entry:
34 ; Force the execution domain with an add.
35 %a2 = add <4 x i64> %a, <i64 1, i64 1, i64 1, i64 1>
36 %x = xor <4 x i64> %a2, %b
37 ret <4 x i64> %x
38}