<html><body>
<p><font size="2" face="sans-serif">Hi,</font><br>
<br>
<font size="2" face="sans-serif">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:</font>
<ul style="padding-left: 54pt"><tt><font size="2"> // FIXME: Should be check target arch. also? </font></tt><br>
<tt><font size="2"> if (Args.getLastArgValue(OPT_target_cpu) == "a2q" &&</font></tt><br>
<tt><font size="2"> !Args.hasArg(OPT_mno_qpx))</font></tt><br>
<tt><font size="2"> Opts.Includes.push_back("qpxintrin.h");</font></tt></ul>
<br>
<font size="2" face="sans-serif">I was able to workaround by adding -D_QPXINTRIN_H_INCLUDED to my build. </font><br>
<br>
<font size="2" face="sans-serif">Example:</font>
<ul style="padding-left: 36pt"><font size="2" face="sans-serif">[tgooding@bgqfen6 src]$ cat foo.S</font><br>
<font size="2" face="sans-serif">// foo</font><br>
<br>
<font size="2" face="sans-serif">[tgooding@bgqfen6 src]$ /bghome/tgooding/llvm/r184137-20130617/bin/bgclang -c foo.S</font><br>
<font size="2" face="sans-serif">/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h: Assembler messages:</font><br>
<font size="2" face="sans-serif">/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:27: Error: Unrecognized opcode: `typedef'</font><br>
<font size="2" face="sans-serif">/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:33: Error: Unrecognized opcode: `static'</font><br>
<font size="2" face="sans-serif">/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:34: Error: Unrecognized opcode: `vec_ld'</font><br>
<font size="2" face="sans-serif">/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:35: Error: Unrecognized opcode: `return'</font><br>
<font size="2" face="sans-serif">/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:36: Error: junk at end of line, first unrecognized character is `}'</font><br>
<font size="2" face="sans-serif">/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:38: Error: Unrecognized opcode: `static'</font><br>
<font size="2" face="sans-serif">/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:39: Error: Unrecognized opcode: `vec_lda'</font><br>
<font size="2" face="sans-serif">/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:40: Error: Unrecognized opcode: `return'</font><br>
<font size="2" face="sans-serif">/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:41: Error: junk at end of line, first unrecognized character is `}'</font><br>
<font size="2" face="sans-serif">/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:43: Error: Unrecognized opcode: `static'</font><br>
<font size="2" face="sans-serif">/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:44: Error: Unrecognized opcode: `vec_ld'</font><br>
<font size="2" face="sans-serif">/bghome/tgooding/llvm/r184137-20130617/bin/../lib/clang/3.4/include/qpxintrin.h:45: Error: Unrecognized opcode: `return'</font><br>
<font size="2" face="sans-serif">.... many more errors ....</font></ul>
<br>
<br>
<font size="2" face="sans-serif">Thanks!</font><br>
<font size="2" face="sans-serif">Tom</font><br>
<br>
<font size="2" face="sans-serif">Tom Gooding<br>
Senior Engineer / Blue Gene Kernels<br>
507-253-0747 (internal: 553-0747)<br>
</font></body></html>