https://bugs.llvm.org/show_bug.cgi?id=38008
Bug ID: 38008
Summary: [llvm-exegesis] Can't test any SSE/AVX instructions on
pre-AVX hardware
Product: new-bugs
Version: unspecified
Hardware: PC
OS: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: new bugs
Assignee: unassignedb...@nondot.org
Reporter: llvm-...@redking.me.uk
CC: clement.cour...@gmail.com, craig.top...@gmail.com,
gchate...@google.com, llvm-bugs@lists.llvm.org
It looks like llvm-exegesis is always using VEX encoded instructions in the
setRegToConstant function:
if (llvm::X86::VR128XRegClass.contains(Reg)) {
return setVectorRegToConstant(Reg, 16, llvm::X86::VMOVDQUrm);
For machines without AVX this will fail - it needs to be llvm::X86::MOVDQUrm on
those targets.
If we ever go as far as testing machines without SSE2 (PentiumIII etc) then we
would need to use the SSE1 llvm::X86::MOVUPSrm instead.
You might also want to check the reg classes as IIRC VR128X/VR256X are only
supposed to be used for AVX512 capable targets.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs