https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124134

--- Comment #3 from Matthias Klose <doko at gcc dot gnu.org> ---
$ cat rs.i
char slow_mul1_dst1, code_some_shards___gf_mulc__0, code_some_shards_lim;
long slow_mul1_dst_max;
long long code_some_shards_pos;
void code_some_shards() {
  char *dst = &slow_mul1_dst1;
  for (; dst < &code_some_shards_lim; dst++) {
    if (code_some_shards_pos < slow_mul1_dst_max)
      *dst = code_some_shards___gf_mulc__0;
    code_some_shards_pos += 1;
  }
}

$ arm-linux-gnueabihf-gcc -c -O3 -mfloat-abi=hard -mtls-dialect=gnu -mthumb
-mlibarch=armv7-a+fp -march=armv7-a+fp rs.i
rs.i: In function 'code_some_shards':
rs.i:4:6: error: invalid types in nop conversion
    4 | void code_some_shards() {
      |      ^~~~~~~~~~~~~~~~
long long int
char *
_31 = (long long int) _30;
during GIMPLE pass: lsplit
rs.i:4:6: internal compiler error: verify_gimple failed
0x236074e internal_error(char const*, ...)
        ../../src/gcc/diagnostic-global-context.cc:787
0x11f725a verify_gimple_in_cfg(function*, bool, bool)
        ../../src/gcc/tree-cfg.cc:5599
0x104807a execute_function_todo
        ../../src/gcc/passes.cc:2100
0x10485d7 execute_todo
        ../../src/gcc/passes.cc:2152
/usr/libexec/gcc-cross/arm-linux-gnueabihf/16/cc1 -fpreprocessed rs.i
-D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=3 -quiet -dumpbase
rs.i -dumpbase-ext .i -mfloat-abi=hard -mtls-dialect=gnu -mthumb
-mlibarch=armv7-a+fp -march=armv7-a+fp -O3 -fstack-protector-strong -Wformat
-Wformat-security -fzero-init-padding-bits=all -Wbidi-chars=any -o
/tmp/ccn0hAMJ.s
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.

Reply via email to