x86-64: Add RDI clobber to 64-bit dynamic TLS patterns

*tls_global_dynamic_64_largepic, *tls_local_dynamic_64_<mode> and
*tls_local_dynamic_base_64_largepic use RDI as the __tls_get_addr
argument.  Add RDI clobber to these patterns to show it.

gcc/

	PR target/120908
	* config/i386/i386.cc (legitimize_tls_address): Pass RDI to
	gen_tls_local_dynamic_64.
	* config/i386/i386.md (*tls_global_dynamic_64_largepic): Add
	RDI clobber and use it to generate LEA.
	(*tls_local_dynamic_64_<mode>): Likewise.
	(*tls_local_dynamic_base_64_largepic): Likewise.
	(@tls_local_dynamic_64_<mode>): Add a clobber.

gcc/testsuite/

	PR target/120908
	* gcc.target/i386/pr120908.c: New test.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
(cherry picked from commit d8d5e2a8031e74f08f61ccdd727476f97940c5a6)
3 files changed