On Mon, Mar 19, 2012 at 9:49 AM, Uros Bizjak <ubiz...@gmail.com> wrote: > On Mon, Mar 19, 2012 at 5:47 PM, H.J. Lu <hjl.to...@gmail.com> wrote: > >> For x32, thread pointer is an unsigned 32bit value. >> >> movl %fs:0, %eax >> >> is the correct instruction to load thread pointer into EAX and RAX. > > So, where is ZERO_EXTEND RTX then? >
Thread pointer (TP) is an opaque value to GCC. GCC needs to load TP into a SImode or DImode register. ZERO_EXTEND isn't needed when there is a single instruction to load TP into a DImode register. -- H.J.