... and use address spaces to load boundary value from TLS block. The patch removes special handling for boundary value location. 2017-08-10 Uros Bizjak * config/i386/i386-protos.h (ix86_split_stack_boundary): New prototype. * config/i386/i386.c (ix86_split_stack_boundary): New function. (ix86_xpand_split_stack_prologue): Call ix86_split_stack_boundary. (ix86_legitimate_address_p) : Remove. (i386_asm_output_addr_const_extra) : Ditto. (optput_pic_addr_const): Remove UNSPEC_STACK_CHECK handling. * config/i386/i386.md (unspec): Remove UNSPEC_STACK_CHECK. (split_stack_space_check): Call ix86_split_stack_boundary. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32} with all default languages plus go. Committed to mainline SVN. Uros.