From d18d07c9d786d484a7fc05d17a17f58209f625f9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Wed, 26 Feb 2020 16:57:37 -0500 Subject: [PATCH] nir: replace GCC unroll with an option that works on GCC < 8.0 Reviewed-by: Eric Anholt Part-of: --- src/compiler/nir/nir_range_analysis.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) 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 -- 2.30.2