> mmx-builtin.c) in current llvm trunk, so I think it'd be better to > referencing mmx-builtins.c for AVX things for a while.
Just a typo: I think it *should not* be better to referencing mmx-builtins.c for AVX things for a while. On Thu, Apr 7, 2011 at 4:42 PM, Syoyo Fujita <[email protected]> wrote: >>> Is there any good way to write a such host-dependent test in clang >>> test-framework? >>> I'm ready to write a test if a guideline is provided. >> >> Eli suggested looking at test/CodeGen/mmx_builtins.c, which does >> similar sorts of things. > > mmx-builtins.c tests asm output, but in my patch I'd like to test LLVM > IR outout. > Thus I created a test by referencing test/CodeGen/vector.c . > > Also, llc with +avx feature failed to compile a test(based on > mmx-builtin.c) in current llvm trunk, so I think it'd be better to > referencing mmx-builtins.c for AVX things for a while. > > ------------------------- > avx-builtins.c > > // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +avx > -S -o - | FileCheck %s > > #include <immintrin.h> > > __m128d test88(__m128d a, __m128d b) { > // CHECK: vcmppd > return _mm_cmp_pd(a, b, _CMP_GE_OS); > } > > ------------------ > > syoyos-MacBook-Pro:test syoyo$ > /Users/syoyo/work/llvm-git/Debug+Asserts/bin/clang -cc1 > /Users/syoyo/work/llvm-git/tools/clang/test/CodeGen/avx-builtins.c > -triple=x86_64-apple-darwin -target-feature +avx -S > Assertion failed: (0 && "Invalid ssecc argument!"), function > printSSECC, file X86ATTInstPrinter.cpp, line 46. > 0 clang 0x000000010139c89a PrintStackTrace(void*) + 38 > 1 clang 0x000000010139ce55 SignalHandler(int) + 254 > 2 libSystem.B.dylib 0x00007fff8070766a _sigtramp + 26 > 3 libSystem.B.dylib 000000000000000000 _sigtramp + 2140113328 > 4 clang 0x000000010139c7d7 raise + 27 > 5 clang 0x000000010139c7e7 abort + 14 > 6 clang 0x000000010139c874 PrintStackTrace(void*) + 0 > 7 clang 0x00000001011e7a2b > llvm::X86ATTInstPrinter::printSSECC(llvm::MCInst const*, unsigned int, > llvm::raw_ostream&) + 157 > 8 clang 0x00000001011e81b4 > llvm::X86ATTInstPrinter::printInstruction(llvm::MCInst const*, > llvm::raw_ostream&) + 1620 > 9 clang 0x00000001011eda67 > llvm::X86ATTInstPrinter::printInst(llvm::MCInst const*, > llvm::raw_ostream&) + 37 > 10 clang 0x0000000101321f72 (anonymous > namespace)::MCAsmStreamer::EmitInstruction(llvm::MCInst const&) + 392 > 11 clang 0x0000000100c8806e > llvm::X86AsmPrinter::EmitInstruction(llvm::MachineInstr const*) + 1910 > 12 clang 0x0000000100e233e2 > llvm::AsmPrinter::EmitFunctionBody() + 1070 > 13 clang 0x0000000100bd7835 > llvm::X86AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) + > 299 > 14 clang 0x0000000100f07821 > llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 85 > 15 clang 0x00000001012d13f9 > llvm::FPPassManager::runOnFunction(llvm::Function&) + 385 > 16 clang 0x00000001012d15ef > llvm::FPPassManager::runOnModule(llvm::Module&) + 81 > 17 clang 0x00000001012d10a6 > llvm::MPPassManager::runOnModule(llvm::Module&) + 384 > 18 clang 0x00000001012d28a2 > llvm::PassManagerImpl::run(llvm::Module&) + 116 > 19 clang 0x00000001012d2903 > llvm::PassManager::run(llvm::Module&) + 33 > 20 clang 0x0000000100170c71 (anonymous > namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction, > llvm::raw_ostream*) + 753 > 21 clang 0x0000000100170d25 > clang::EmitBackendOutput(clang::Diagnostic&, clang::CodeGenOptions > const&, clang::TargetOptions const&, llvm::Module*, > clang::BackendAction, llvm::raw_ostream*) + 115 > 22 clang 0x0000000100260d1c > clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + > 436 > 23 clang 0x000000010028c8e2 clang::ParseAST(clang::Sema&, > bool) + 547 > 24 clang 0x0000000100065b6f > clang::ASTFrontendAction::ExecuteAction() + 233 > 25 clang 0x000000010025f82b > clang::CodeGenAction::ExecuteAction() + 793 > 26 clang 0x0000000100065c7c clang::FrontendAction::Execute() + 262 > 27 clang 0x000000010004ee0c > clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 710 > 28 clang 0x000000010000d269 > clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 787 > 29 clang 0x0000000100001bc8 cc1_main(char const**, char > const**, char const*, void*) + 897 > 30 clang 0x0000000100009d74 main + 450 > 31 clang 0x0000000100001334 start + 52 > Stack dump: > 0. Program arguments: > /Users/syoyo/work/llvm-git/Debug+Asserts/bin/clang -cc1 > /Users/syoyo/work/llvm-git/tools/clang/test/CodeGen/avx-builtins.c > -triple=x86_64-apple-darwin -target-feature +avx -S > 1. <eof> parser at end of file > 2. Code generation > 3. Running pass 'Function Pass Manager' on module > '/Users/syoyo/work/llvm-git/tools/clang/test/CodeGen/avx-builtins.c'. > 4. Running pass 'X86 AT&T-Style Assembly Printer' on function '@test88' > Illegal instruction > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
