[LLVMbugs] [Bug 13203] New: vqshrn NEON instruction does not support #0 immediate shift

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Jun 25 07:53:29 PDT 2012


http://llvm.org/bugs/show_bug.cgi?id=13203

             Bug #: 13203
           Summary: vqshrn NEON instruction does not support #0 immediate
                    shift
           Product: new-bugs
           Version: trunk
          Platform: Macintosh
        OS/Version: MacOS X
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: notorca at gmail.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 8760
  --> http://llvm.org/bugs/attachment.cgi?id=8760
test source

$ src/build/bin/clang -arch armv7 test1.c -O0 -v
clang version 3.2 (trunk 159133)
Target: arm-apple-darwin11.4.0
Thread model: posix
 "/Users/lorca/src/build/bin/clang-3.2" -cc1 -triple thumbv7-apple-ios3.0.0
-emit-obj -mrelax-all -disable-free -main-file-name test1.c -pic-level 2
-mdisable-fp-elim -masm-verbose -target-abi apcs-gnu -target-cpu cortex-a8
-mfloat-abi soft -target-feature +soft-float-abi -v -resource-dir
/Users/lorca/src/build/bin/../lib/clang/3.2 -fmodule-cache-path
/var/folders/y5/5s_3x9t15s35dzws6swnhd540000gp/T/clang-module-cache -O0
-fdebug-compilation-dir /Users/lorca -ferror-limit 19 -fmessage-length 212
-stack-protector 1 -mstackrealign -fblocks -fblocks-runtime-optional
-fobjc-runtime=ios-3.0.0 -fobjc-default-synthesize-properties -fsjlj-exceptions
-fdiagnostics-show-option -fcolor-diagnostics -o
/var/folders/y5/5s_3x9t15s35dzws6swnhd540000gp/T/test1-pfS5Oe.o -x c test1.c
clang -cc1 version 3.2 based upon LLVM 3.2svn default target
x86_64-apple-darwin11.4.0
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /Users/lorca/src/build/bin/../lib/clang/3.2/include
 /usr/include
 /System/Library/Frameworks (framework directory)
 /Library/Frameworks (framework directory)
End of search list.
test1.c:8:13: error: invalid operand for instruction
    __asm__("vqshrn.s32 %P0, %q1, #0" : "=w"(tmp16x4_0) : "w"(tmp32x4_0));
            ^
<inline asm>:1:22: note: instantiated into assembly here
        vqshrn.s32 d18, q8, #0
                            ^
1 error generated.

Compiles fine with "Apple clang version 3.1 (tags/Apple/clang-318.0.61) (based
on LLVM 3.1svn)" and gcc.
With shift >= 1 also compiles ok.
According to "ARM Compiler toolchain Version 4.1 Assembler Reference" "imm is
the immediate value specifying the size of the shift, in the range 0 to
(size(datatype) – 1)."

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list