https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104644
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I think the FEs rely on such trees not being folded. It is done in fold-const-call.cc, 1186 static tree 1187 fold_const_call_1 (combined_fn fn, tree type, tree arg) 1188 { 1189 machine_mode mode = TYPE_MODE (type); 1190 machine_mode arg_mode = TYPE_MODE (TREE_TYPE (arg)); 1191 1192 if (integer_cst_p (arg)) 1193 { and integer_cst_p does: 35 /* Functions that test for certain constant types, abstracting away the 36 decision about whether to check for overflow. */ 37 38 static inline bool 39 integer_cst_p (tree t) 40 { 41 return TREE_CODE (t) == INTEGER_CST && !TREE_OVERFLOW (t); 42 }