gallivm: Fix half floats with MCJIT.
authorJosé Fonseca <jfonseca@vmware.com>
Fri, 19 Apr 2013 09:13:02 +0000 (10:13 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Fri, 19 Apr 2013 09:13:19 +0000 (10:13 +0100)
Prevents:

  LLVM ERROR: Cannot select: intrinsic %llvm.x86.vcvtph2ps.128

src/gallium/auxiliary/gallivm/lp_bld_misc.cpp

index c51279556b6e5062a1652388c75627ae7fb9b484..024819ece190e97d98a9a81b5b7a6168d518d563 100644 (file)
@@ -276,6 +276,9 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
        * add set this attribute.
        */
       MAttrs.push_back("+avx");
+      if (util_cpu_caps.has_f16c) {
+         MAttrs.push_back("+f16c");
+      }
       builder.setMAttrs(MAttrs);
    }
    builder.setJITMemoryManager(JITMemoryManager::CreateDefaultMemManager());