[nvptx] Set -misa=sm_35 by default
The nvptx-as assembler verifies the ptx code using ptxas, if there's any in the PATH. The default in the nvptx port for -misa=sm_xx is sm_30, but the ptxas of the latest cuda release (11.1) no longer supports sm_30. Consequently we cannot build gcc against that release (although we should still be able to build without any cuda release). Fix this by setting -misa=sm_35 by default. Tested check-gcc on nvptx. Tested libgomp on x86_64-linux with nvpx accelerator. Both build again cuda 9.1. gcc/ChangeLog: 2020-10-09 Tom de Vries <tdevries@suse.de> PR target/97348 * config/nvptx/nvptx.h (ASM_SPEC): Also pass -m to nvptx-as if default is used. * config/nvptx/nvptx.opt (misa): Init with PTX_ISA_SM35.
This commit is contained in:
parent
8c26cfc6af
commit
383400a607
|
@ -29,7 +29,10 @@
|
|||
|
||||
#define STARTFILE_SPEC "%{mmainkernel:crt0.o}"
|
||||
|
||||
#define ASM_SPEC "%{misa=*:-m %*}"
|
||||
/* Default needs to be in sync with default for misa in nvptx.opt.
|
||||
We add a default here to work around a hard-coded sm_30 default in
|
||||
nvptx-as. */
|
||||
#define ASM_SPEC "%{misa=*:-m %*; :-m sm_35}"
|
||||
|
||||
#define TARGET_CPU_CPP_BUILTINS() \
|
||||
do \
|
||||
|
|
|
@ -59,6 +59,7 @@ Enum(ptx_isa) String(sm_30) Value(PTX_ISA_SM30)
|
|||
EnumValue
|
||||
Enum(ptx_isa) String(sm_35) Value(PTX_ISA_SM35)
|
||||
|
||||
; Default needs to be in sync with default in ASM_SPEC in nvptx.h.
|
||||
misa=
|
||||
Target RejectNegative ToLower Joined Enum(ptx_isa) Var(ptx_isa_option) Init(PTX_ISA_SM30)
|
||||
Target RejectNegative ToLower Joined Enum(ptx_isa) Var(ptx_isa_option) Init(PTX_ISA_SM35)
|
||||
Specify the version of the ptx ISA to use.
|
||||
|
|
Loading…
Reference in New Issue