On Wed, Dec 1, 2021 at 8:46 AM Gary Oblock via Gcc <gcc@gcc.gnu.org> wrote: > > What is happening should be trivial to determine but for some reason it's > not. I'd normally bounce this off a coworker but given the pandemic > and modern dispersed hiring practices it's not even remotely possible. > > I'm making this call and tree_to_uhwi is failing on an internal error. > That's normally easy to fix, but here is where the weirdness kicks in. > > unsigned HOST_WIDE_INT wi_offset = tree_to_uhwi (offset); > > tree_to_uhwi from tree.h is: > > extern inline __attribute__ ((__gnu_inline__)) unsigned HOST_WIDE_INT > tree_to_uhwi (const_tree t) > { > gcc_assert (tree_fits_uhwi_p (t)); > return TREE_INT_CST_LOW (t); > } > > and > > tree_fits_uhwi_p from tree.c is > > bool > tree_fits_uhwi_p (const_tree t) > { > return (t != NULL_TREE > && TREE_CODE (t) == INTEGER_CST > && wi::fits_uhwi_p (wi::to_widest (t))); > } > > Here's what this instrumentation shows (DEBUG_A is an indenting fprintf to > stderr.) > > DEBUG_A ("TREE_CODE(offset) = %s && ", code_str (TREE_CODE (offset))); > DEBUG_A ("fits %s\n", wi::fits_uhwi_p (wi::to_widest (offset)) ? "true" : > "false"); > DEBUG_A ("tree_fits_uhwi_p(offset) %s\n",tree_fits_uhwi_p (offset) ? "true" > : "false"); > > TREE_CODE(offset) = INTEGER_CST && fits true > tree_fits_uhwi_p(offset) true > > By the way, offset is: > > _Literal (struct BASKET * *) 8 > > And it's an operand of: > > MEM[(struct BASKET * *)&perm + 8B] > > Any clues on what's going on here?
it should just work. > Thanks, > > Gary > Btw, try to setup things so you don't spam below stuff to public mailing lists. > CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is > for the sole use of the intended recipient(s) and contains information that > is confidential and proprietary to Ampere Computing or its subsidiaries. It > is to be used solely for the purpose of furthering the parties' business > relationship. Any unauthorized review, copying, or distribution of this email > (or any attachments thereto) is strictly prohibited. If you are not the > intended recipient, please contact the sender immediately and permanently > delete the original and any copies of this email and any attachments thereto.