FC	:= ifx
FCFLAGS	 = -std18
FCFLAGS += -Ofast -xHOST
FCFLAGS += -qopt-zmm-usage=low

ifeq ($(FC),ifort)
    FCFLAGS += -qopt-streaming-stores=always
    PARALLEL = -parallel
endif

DOCONCURRENT_FLAG   = -qopenmp $(PARALLEL)
ARRAY_FLAG          = -qopenmp $(PARALLEL)
OPENMP_FLAG         = -qopenmp
ifeq ($(FC),ifx)
    OPENMP_FLAG += -fopenmp-targets=spir64 -DUSE_FLOAT=1
endif
OPENACC_FLAG        =
CUDA_FLAG           =
SEQUENTIAL_FLAG     =

ifeq ($(IMPLEMENTATION),OpenACC)
    $(error IMPLEMENTATION=$(IMPLEMENTATION) is not supported by this compiler.)
endif
ifeq ($(IMPLEMENTATION),OpenACCArray)
    $(error IMPLEMENTATION=$(IMPLEMENTATION) is not supported by this compiler.)
endif
ifeq ($(IMPLEMENTATION),CUDA)
    $(error IMPLEMENTATION=$(IMPLEMENTATION) is not supported by this compiler.)
endif
ifeq ($(IMPLEMENTATION),CUDAKernels)
    $(error IMPLEMENTATION=$(IMPLEMENTATION) is not supported by this compiler.)
endif
