Motivated by a surprise of a colleague that with -m32, no offload dumps were created; that's because mkoffload does not process host binaries when the are 32bit (i.e. ilp32). Internally, that done as follows: The host compiler passes to 'mkoffload' the used host ABI, i.e. -foffload-abi=ilp32 or -foffload-abi=lp64 That's done via TARGET_OFFLOAD_OPTIONS, which is supported by aarch64, i386, and rs6000. While it is sensible (albeit not strictly required) that GCC requires that the host and device side agree and that only 64bit is implemented for the device side, it can be confusing that silently no offloading code is generated. Hence, I propose to print a warning in that case - as implemented in the attached patch: $ gcc -fopenmp -m32 test.c nvptx mkoffload: warning: offload code generation skipped: offloading with 32-bit host code is currently not supported gcn mkoffload: warning: offload code generation skipped: offloading with 32-bit host code is currently not supported * * * This shouldn't have any effect on offload builds using -m64 and non-offload builds – while several testcases already have issues with '-m32' when offloading is enabled or an offloading device is available. To make it not worse, this patch adds some pruning and for a subset of the failing testcases, I added code to avoids FAILS. There are some more fails, but those aren't new. Comments, remarks, suggestions? Is the mkoffload.cc part is okay? Tobias