[Llvm-bgq-discuss] qpxintrin.h not compatible with asm files
Thomas Gooding
tgooding at us.ibm.com
Thu Jun 20 16:45:53 CDT 2013
Hi,
I'm not sure if this is a known issue, but it appears that qpxintrin.h is
included when the source file is assembly run through the C preprocessor.
Digging around a bit, i'd guess there should be an additional check
somewhere in src/tools/clang/lib/Frontend/CompilerInvocation.cpp to prevent
the include. But i'm not quite sure what it should be:
// FIXME: Should be check target arch. also?
if (Args.getLastArgValue(OPT_target_cpu) == "a2q" &&
!Args.hasArg(OPT_mno_qpx))
Opts.Includes.push_back("qpxintrin.h");
I was able to workaround by adding -D_QPXINTRIN_H_INCLUDED to my build.
Example:
[tgooding at bgqfen6 src]$ cat foo.S
// foo
[tgooding at bgqfen6
src]$ /bghome/tgooding/llvm/r184137-20130617/bin/bgclang -c foo.S
/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:
Assembler messages:
/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:27:
Error: Unrecognized opcode: `typedef'
/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:33:
Error: Unrecognized opcode: `static'
/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:34:
Error: Unrecognized opcode: `vec_ld'
/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:35:
Error: Unrecognized opcode: `return'
/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:36:
Error: junk at end of line, first unrecognized character is `}'
/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:38:
Error: Unrecognized opcode: `static'
/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:39:
Error: Unrecognized opcode: `vec_lda'
/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:40:
Error: Unrecognized opcode: `return'
/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:41:
Error: junk at end of line, first unrecognized character is `}'
/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:43:
Error: Unrecognized opcode: `static'
/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:44:
Error: Unrecognized opcode: `vec_ld'
/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:45:
Error: Unrecognized opcode: `return'
.... many more errors ....
Thanks!
Tom
Tom Gooding
Senior Engineer / Blue Gene Kernels
507-253-0747 (internal: 553-0747)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alcf.anl.gov/pipermail/llvm-bgq-discuss/attachments/20130620/753fa237/attachment.html>
More information about the llvm-bgq-discuss
mailing list