1*9880d681SAndroid Build Coastguard Worker; Test local-dynamic TLS access optimizations. 2*9880d681SAndroid Build Coastguard Worker; 3*9880d681SAndroid Build Coastguard Worker; If we access two different local-dynamic TLS variables, we only 4*9880d681SAndroid Build Coastguard Worker; need a single call to __tls_get_offset. 5*9880d681SAndroid Build Coastguard Worker; 6*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mcpu=z10 -mtriple=s390x-linux-gnu -relocation-model=pic | grep "__tls_get_offset" | count 1 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker@x = thread_local(localdynamic) global i32 0 9*9880d681SAndroid Build Coastguard Worker@y = thread_local(localdynamic) global i32 0 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Workerdefine i32 @foo() { 12*9880d681SAndroid Build Coastguard Worker %valx = load i32, i32* @x 13*9880d681SAndroid Build Coastguard Worker %valy = load i32, i32* @y 14*9880d681SAndroid Build Coastguard Worker %add = add nsw i32 %valx, %valy 15*9880d681SAndroid Build Coastguard Worker ret i32 %add 16*9880d681SAndroid Build Coastguard Worker} 17