1*c8dee2aaSAndroid Build Coastguard Workerint zero = 0; 2*c8dee2aaSAndroid Build Coastguard Worker 3*c8dee2aaSAndroid Build Coastguard Worker// Although all of these variables have compile-time constant values, we expect them to be NOT 4*c8dee2aaSAndroid Build Coastguard Worker// constant-folded as they are accessed by an index with a value determine at runtime. 5*c8dee2aaSAndroid Build Coastguard Workerconst half[2] globalArray = half[2](1, 1); 6*c8dee2aaSAndroid Build Coastguard Workerconst half2 globalVector = half2(1, 1); 7*c8dee2aaSAndroid Build Coastguard Workerconst half2x2 globalMatrix = half2x2(1, 1, 1, 1); 8*c8dee2aaSAndroid Build Coastguard Worker 9*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2) { 10*c8dee2aaSAndroid Build Coastguard Worker const half[2] localArray = half[2](0, 1); 11*c8dee2aaSAndroid Build Coastguard Worker const half2 localVector = half2(1, 1); 12*c8dee2aaSAndroid Build Coastguard Worker const half2x2 localMatrix = half2x2(0, 1, 2, 3); 13*c8dee2aaSAndroid Build Coastguard Worker 14*c8dee2aaSAndroid Build Coastguard Worker return half4(globalArray[zero] * localArray[zero], 15*c8dee2aaSAndroid Build Coastguard Worker globalVector[zero] * localVector[zero], 16*c8dee2aaSAndroid Build Coastguard Worker globalMatrix[zero] * localMatrix[zero]); 17*c8dee2aaSAndroid Build Coastguard Worker} 18