On Apr 20, 2021, at 9:11 AM, Gabriel Paubert <paub...@iram.es<mailto:paub...@iram.es>> wrote:
(lldb) di -s 0x0000000103d60000 -c 10 libgambit.dylib`___SCMOBJ_to_NONNULLSTRING: 0x103d60000 <+1504>: jl 0x103d60026 ; <+1542> at c_intf.c:3282:9 0x103d60002 <+1506>: orb %al, 0x31(%rbp) 0x103d60005 <+1509>: shlb %cl, 0x2e(%rsi) Does GCC ever generate this last instruction (a variable shift of a byte in memory!)? Even the next to last (register to memory) is only generated infrequently. I submitted https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100152 You may be correct, but it appears that the “offending" instruction is -> 0x103d60010 <+1520>: movl (%rbp,%r10,4), %esi Brad