From: Marek Olšák Date: Wed, 26 Feb 2020 21:57:37 +0000 (-0500) Subject: nir: replace GCC unroll with an option that works on GCC < 8.0 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d18d07c9d786d484a7fc05d17a17f58209f625f9;p=mesa.git nir: replace GCC unroll with an option that works on GCC < 8.0 Reviewed-by: Eric Anholt Part-of: --- diff --git a/src/compiler/nir/nir_range_analysis.c b/src/compiler/nir/nir_range_analysis.c index fdce434054c..548123be4ce 100644 --- a/src/compiler/nir/nir_range_analysis.c +++ b/src/compiler/nir/nir_range_analysis.c @@ -220,17 +220,23 @@ analyze_constant(const struct nir_alu_instr *instr, unsigned src, #if defined(__clang__) -/* clang wants _Pragma("unroll X") */ -#define pragma_unroll_5 _Pragma("unroll 5") -#define pragma_unroll_7 _Pragma("unroll 7") + /* clang wants _Pragma("unroll X") */ + #define pragma_unroll_5 _Pragma("unroll 5") + #define pragma_unroll_7 _Pragma("unroll 7") /* gcc wants _Pragma("GCC unroll X") */ #elif defined(__GNUC__) -#define pragma_unroll_5 _Pragma("GCC unroll 5") -#define pragma_unroll_7 _Pragma("GCC unroll 7") + #if __GNUC__ >= 8 + #define pragma_unroll_5 _Pragma("GCC unroll 5") + #define pragma_unroll_7 _Pragma("GCC unroll 7") + #else + #pragma GCC optimize ("unroll-loops") + #define pragma_unroll_5 + #define pragma_unroll_7 + #endif #else -/* MSVC doesn't have C99's _Pragma() */ -#define pragma_unroll_5 -#define pragma_unroll_7 + /* MSVC doesn't have C99's _Pragma() */ + #define pragma_unroll_5 + #define pragma_unroll_7 #endif