radeonsi: set LLVM denormal flags
authorMarek Olšák <marek.olsak@amd.com>
Tue, 21 Jun 2016 21:28:46 +0000 (23:28 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Fri, 24 Jun 2016 10:31:03 +0000 (12:31 +0200)
- make sure FP32 denormals will stay disabled in LLVM in the future
  (the current default is disabled)
- tell LLVM that FP64 denormals are enabled

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
src/gallium/drivers/radeonsi/si_pipe.c

index 65c0daa5cfba719bcbc0eac8fff0608f6cea0369..0de25b9576a92b9a396df5af6ecd382cbdb328cf 100644 (file)
@@ -32,6 +32,9 @@
 #include "util/u_suballoc.h"
 #include "vl/vl_decoder.h"
 
+#define SI_LLVM_DEFAULT_FEATURES \
+       "+DumpCode,+vgpr-spilling,-fp32-denormals,+fp64-denormals"
+
 /*
  * pipe_context
  */
@@ -262,9 +265,9 @@ static struct pipe_context *si_create_context(struct pipe_screen *screen,
                                           r600_get_llvm_processor_name(sscreen->b.family),
 #if HAVE_LLVM >= 0x0308
                                           sscreen->b.debug_flags & DBG_SI_SCHED ?
-                                               "+DumpCode,+vgpr-spilling,+si-scheduler" :
+                                               SI_LLVM_DEFAULT_FEATURES ",+si-scheduler" :
 #endif
-                                               "+DumpCode,+vgpr-spilling",
+                                               SI_LLVM_DEFAULT_FEATURES,
                                           LLVMCodeGenLevelDefault,
                                           LLVMRelocDefault,
                                           LLVMCodeModelDefault);