brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.9 KiB · 7ca72a7 Raw
138 lines · plain
1; RUN: not llc %s -verify-machineinstrs=0 -mtriple i386-unknown-linux-gnu -mattr +avx512vl -o /dev/null 2>&1 | FileCheck %s2 3define <4 x float> @testxmm_1(<4 x float> %_xmm0, i64 %_l) {4; CHECK: error: inline assembly requires more registers than available5entry:6  %0 = tail call <4 x float> asm "vmovhlps $1, $2, $0", "=v,v,v,~{xmm0},~{xmm1},~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{dirflag},~{fpsr},~{flags}"(i64 %_l, <4 x float> %_xmm0)7  ret <4 x float> %08}9 10 11define <4 x float> @testxmm_2(<4 x float> %_xmm0, i64 %_l) {12; CHECK: error: inline assembly requires more registers than available13entry:14  %0 = tail call <4 x float> asm "vmovapd $1, $0", "=v,v,~{xmm0},~{xmm1},~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{dirflag},~{fpsr},~{flags}"(i64 %_l)15  ret <4 x float> %016}17 18 19define <4 x float> @testxmm_3(<4 x float> %_xmm0, i64 %_l) {20; CHECK: error: inline assembly requires more registers than available21entry:22  %0 = tail call <4 x float> asm "vminpd $1, $2, $0", "=v,v,v,~{xmm0},~{xmm1},~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{dirflag},~{fpsr},~{flags}"(i64 %_l, i64 %_l)23  ret <4 x float> %024}25 26 27define i64 @testxmm_4(<4 x float> %_xmm0, i64 %_l) {28; CHECK: error: inline assembly requires more registers than available29entry:30  %0 = tail call i64 asm "vmulsd $1, $2, $0", "=v,v,v,~{xmm0},~{xmm1},~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{dirflag},~{fpsr},~{flags}"(i64 %_l, <4 x float> %_xmm0)31  ret i64 %032}33 34 35define <4 x float> @testxmm_5(<4 x float> %_xmm0, i64 %_l) {36; CHECK: error: inline assembly requires more registers than available37entry:38  %0 = tail call <4 x float> asm "vpabsq $1, $0", "=v,v,~{xmm0},~{xmm1},~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{dirflag},~{fpsr},~{flags}"(i64 %_l)39  ret <4 x float> %040}41 42 43define <4 x float> @testxmm_6(<4 x float> %_xmm0, i64 %_l) {44; CHECK: error: inline assembly requires more registers than available45entry:46  %0 = tail call <4 x float> asm "vpandd $1, $2, $0", "=v,v,v,~{xmm0},~{xmm1},~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{dirflag},~{fpsr},~{flags}"(<4 x float> %_xmm0, i64 %_l)47  ret <4 x float> %048}49 50 51define <4 x float> @testxmm_7(<4 x float> %_xmm0, i64 %_l) {52; CHECK: error: inline assembly requires more registers than available53entry:54  %0 = tail call <4 x float> asm "vpandnd $1, $2, $0", "=v,v,v,~{xmm0},~{xmm1},~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{dirflag},~{fpsr},~{flags}"(<4 x float> %_xmm0, i64 %_l)55  ret <4 x float> %056}57 58 59define <8 x float> @testymm_1(<8 x float> %_ymm0, <8 x float> %_ymm1) {60; CHECK: error: inline assembly requires more registers than available61entry:62  %0 = tail call <8 x float> asm "vmovsldup $1, $0", "=v,v,~{ymm0},~{ymm1},~{ymm2},~{ymm3},~{ymm4},~{ymm5},~{ymm6},~{ymm7},~{dirflag},~{fpsr},~{flags}"(<8 x float> %_ymm1)63  ret <8 x float> %064}65 66 67define <8 x float> @testymm_2(<8 x float> %_ymm0, <8 x float> %_ymm1) {68; CHECK: error: inline assembly requires more registers than available69entry:70  %0 = tail call <8 x float> asm "vmovapd $1, $0", "=v,v,~{ymm0},~{ymm1},~{ymm2},~{ymm3},~{ymm4},~{ymm5},~{ymm6},~{ymm7},~{dirflag},~{fpsr},~{flags}"(<8 x float> %_ymm1)71  ret <8 x float> %072}73 74 75define <8 x float> @testymm_3(<8 x float> %_ymm0, <8 x float> %_ymm1) {76; CHECK: error: inline assembly requires more registers than available77entry:78  %0 = tail call <8 x float> asm "vminpd $1, $2, $0", "=v,v,v,~{ymm0},~{ymm1},~{ymm2},~{ymm3},~{ymm4},~{ymm5},~{ymm6},~{ymm7},~{dirflag},~{fpsr},~{flags}"(<8 x float> %_ymm1, <8 x float> %_ymm1)79  ret <8 x float> %080}81 82 83define <8 x float> @testymm_4(<8 x float> %_ymm0, <8 x float> %_ymm1) {84; CHECK: error: inline assembly requires more registers than available85entry:86  %0 = tail call <8 x float> asm "vpabsq $1, $0", "=v,v,~{ymm0},~{ymm1},~{ymm2},~{ymm3},~{ymm4},~{ymm5},~{ymm6},~{ymm7},~{dirflag},~{fpsr},~{flags}"(<8 x float> %_ymm1)87  ret <8 x float> %088}89 90 91define <8 x float> @testymm_5(<8 x float> %_ymm0, <8 x float> %_ymm1) {92; CHECK: error: inline assembly requires more registers than available93entry:94  %0 = tail call <8 x float> asm "vpandd $1, $2, $0", "=v,v,v,~{ymm0},~{ymm1},~{ymm2},~{ymm3},~{ymm4},~{ymm5},~{ymm6},~{ymm7},~{dirflag},~{fpsr},~{flags}"(<8 x float> %_ymm1, <8 x float> %_ymm0)95  ret <8 x float> %096}97 98 99define <8 x float> @testymm_6(<8 x float> %_ymm0, <8 x float> %_ymm1) {100; CHECK: error: inline assembly requires more registers than available101entry:102  %0 = tail call <8 x float> asm "vpandnd $1, $2, $0", "=v,v,v,~{ymm0},~{ymm1},~{ymm2},~{ymm3},~{ymm4},~{ymm5},~{ymm6},~{ymm7},~{dirflag},~{fpsr},~{flags}"(<8 x float> %_ymm1, <8 x float> %_ymm0)103  ret <8 x float> %0104}105 106 107define <8 x float> @testymm_7(<8 x float> %_ymm0, <8 x float> %_ymm1) {108; CHECK: error: inline assembly requires more registers than available109entry:110  %0 = tail call <8 x float> asm "vpminud $1, $2, $0", "=v,v,v,~{ymm0},~{ymm1},~{ymm2},~{ymm3},~{ymm4},~{ymm5},~{ymm6},~{ymm7},~{dirflag},~{fpsr},~{flags}"(<8 x float> %_ymm1, <8 x float> %_ymm0)111  ret <8 x float> %0112}113 114 115define <8 x float> @testymm_8(<8 x float> %_ymm0, <8 x float> %_ymm1) {116; CHECK: error: inline assembly requires more registers than available117entry:118  %0 = tail call <8 x float> asm "vpmaxsd $1, $2, $0", "=v,v,v,~{ymm0},~{ymm1},~{ymm2},~{ymm3},~{ymm4},~{ymm5},~{ymm6},~{ymm7},~{dirflag},~{fpsr},~{flags}"(<8 x float> %_ymm1, <8 x float> %_ymm0)119  ret <8 x float> %0120}121 122 123define <8 x float> @testymm_9(<8 x float> %_ymm0, <8 x float> %_ymm1) {124; CHECK: error: inline assembly requires more registers than available125entry:126  %0 = tail call <8 x float> asm "vmovups $1, $0", "=v,v,~{ymm0},~{ymm1},~{ymm2},~{ymm3},~{ymm4},~{ymm5},~{ymm6},~{ymm7},~{dirflag},~{fpsr},~{flags}"(<8 x float> %_ymm1)127  ret <8 x float> %0128}129 130 131define <8 x float> @testymm_10(<8 x float> %_ymm0, <8 x float> %_ymm1) {132; CHECK: error: inline assembly requires more registers than available133entry:134  %0 = tail call <8 x float> asm "vmovupd $1, $0", "=v,v,~{ymm0},~{ymm1},~{ymm2},~{ymm3},~{ymm4},~{ymm5},~{ymm6},~{ymm7},~{dirflag},~{fpsr},~{flags}"(<8 x float> %_ymm1)135  ret <8 x float> %0136}137 138