[llvm-bugs] [Bug 28266] New: clang-cl: psubb xmm0, byte ptr kFsub80 - error: invalid operand for instruction
via llvm-bugs
llvm-bugs at lists.llvm.org
Wed Jun 22 13:05:49 PDT 2016
https://llvm.org/bugs/show_bug.cgi?id=28266
Bug ID: 28266
Summary: clang-cl: psubb xmm0, byte ptr kFsub80 - error:
invalid operand for instruction
Product: clang
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: -New Bugs
Assignee: unassignedclangbugs at nondot.org
Reporter: fbarchard at google.com
CC: llvm-bugs at lists.llvm.org
Classification: Unclassified
The following builds with Visual C but not clang-cl
typedef __declspec(align(16)) uint8 uvec8[16];
static uvec8 kFsub80 =
{ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
psubb xmm0, kFsub80
clang-cl reports:
..\..\source\scale_win.cc(877,3): error: invalid operand for instruction
__asm {
^
<inline asm>(35,2): note: instantiated into assembly here
psubb xmm0, byte ptr kFsub80
^
as a work around I can cast the pointer:
psubb xmm0, xmmword ptr kFsub80
For clangcl I'm using Visual C syntax
typedef __declspec(align(16)) uint8 uvec8[16];
but for clang I use GCC syntax
typedef uint8 __attribute__((vector_size(16))) uvec8;
Is there a Visual C way to declare a vector that is compatible with clangcl
without explicit casts?
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160622/c3e70b5f/attachment.html>
More information about the llvm-bugs
mailing list