Hi there, I try to verify the offloading following below doc.
https://gcc.gnu.org/wiki/Offloading#How_to_build_an_offloading-enabled_GCC with some steps: 1. Build nvptx-tools. 2. Symbol link nvptx-newlib to gcc source code. 3. Build the Nividia PTX accel compiler. 4. Build the host compiler with nvptx as offload target, but I don't have the GPU, then drop the --with-cuda-driver=xxx option. 5. Run command for building, aka ./nvptx-tools/usr/local/bin/gcc -O0 -fopenmp test.c -o test.elf. The building complete successfully, but looks I cannot run it without GPU, and I am not very sure this is good enough for validation or not. Pan -----Original Message----- From: Li, Pan2 Sent: Wednesday, June 21, 2023 3:23 PM To: Jakub Jelinek <ja...@redhat.com> Cc: gcc-patches@gcc.gnu.org; juzhe.zh...@rivai.ai; rdapp....@gmail.com; jeffreya...@gmail.com; Wang, Yanzhang <yanzhang.w...@intel.com>; kito.ch...@gmail.com; rguent...@suse.de Subject: RE: [PATCH] RISC-V: Fix out of range memory access of machine mode table Thanks Jakub, will fix the format issue and send the V3 patch, as well as try to validate it for offloading. Pan -----Original Message----- From: Jakub Jelinek <ja...@redhat.com> Sent: Wednesday, June 21, 2023 3:16 PM To: Li, Pan2 <pan2...@intel.com> Cc: gcc-patches@gcc.gnu.org; juzhe.zh...@rivai.ai; rdapp....@gmail.com; jeffreya...@gmail.com; Wang, Yanzhang <yanzhang.w...@intel.com>; kito.ch...@gmail.com; rguent...@suse.de Subject: Re: [PATCH] RISC-V: Fix out of range memory access of machine mode table On Wed, Jun 21, 2023 at 06:59:08AM +0000, Li, Pan2 wrote: > inline machine_mode > bp_unpack_machine_mode (struct bitpack_d *bp) > { > - return (machine_mode) > - ((class lto_input_block *) > - bp->stream)->mode_table[bp_unpack_enum (bp, machine_mode, 1 << 8)]; > + int last = 1 << ceil_log2 (MAX_MACHINE_MODE); > + lto_input_block *input_block = (class lto_input_block *) bp->stream; Still 2 spaces instead of 1 here, otherwise it LGTM, but the important question is if you have actually tested it with offloading, because only that will verify it works correctly. See https://gcc.gnu.org/wiki/Offloading for details. Jakub