ac/llvm: add better code for fsign
[mesa.git] / src / amd / llvm / ac_llvm_util.c
index 937e0dbf1fbfb555ce93b60a4b255c7734ceda41..c7c8b991756ef5c882a44e6c1848ca4ed061e56c 100644 (file)
@@ -78,12 +78,29 @@ static void ac_init_llvm_target()
        LLVMParseCommandLineOptions(ARRAY_SIZE(argv), argv, NULL);
 }
 
-PUBLIC void ac_init_llvm_once(void)
+PUBLIC void ac_init_shared_llvm_once(void)
 {
        static once_flag ac_init_llvm_target_once_flag = ONCE_FLAG_INIT;
        call_once(&ac_init_llvm_target_once_flag, ac_init_llvm_target);
 }
 
+#if !LLVM_IS_SHARED
+static once_flag ac_init_static_llvm_target_once_flag = ONCE_FLAG_INIT;
+static void ac_init_static_llvm_once(void)
+{
+       call_once(&ac_init_static_llvm_target_once_flag, ac_init_llvm_target);
+}
+#endif
+
+void ac_init_llvm_once(void)
+{
+#if LLVM_IS_SHARED
+       ac_init_shared_llvm_once();
+#else
+       ac_init_static_llvm_once();
+#endif
+}
+
 static LLVMTargetRef ac_get_llvm_target(const char *triple)
 {
        LLVMTargetRef target = NULL;
@@ -156,7 +173,8 @@ const char *ac_get_llvm_processor_name(enum radeon_family family)
                return "gfx1011";
        case CHIP_NAVI14:
                return "gfx1012";
-       case CHIP_SIENNA:
+       case CHIP_SIENNA_CICHLID:
+       case CHIP_NAVY_FLOUNDER:
                return "gfx1030";
        default:
                return "";