177298Sobrien .data 2218822Sdim .align 4096 3218822Sdim .section ".tbss" 477298Sobrien .align 4 577298Sobrienbl1: .word 0 6130561Sobrienbl2: .word 0 777298Sobrienbl3: .word 0 8130561Sobrienbl4: .word 0 9130561Sobrienbl5: .word 0 10130561Sobrien .text 11130561Sobrien .align 4096 1277298Sobrien .globl fn3 13130561Sobrien .type fn3,#function 14130561Sobrien .proc 04 15130561Sobrienfn3: 16130561Sobrien save %sp, -104, %sp 1777298Sobrien .hidden _GLOBAL_OFFSET_TABLE_ 18130561Sobrien sethi %hi(_GLOBAL_OFFSET_TABLE_), %l1 19130561Sobrien or %l1, %lo(_GLOBAL_OFFSET_TABLE_), %l1 20218822Sdim nop;nop;nop;nop 2177298Sobrien 2277298Sobrien /* IE against global var */ 2377298Sobrien sethi %tie_hi22(sg1), %o3 2477298Sobrien add %o3, %tie_lo10(sg1), %o3 2577298Sobrien ld [%l1 + %o3], %o2, %tie_ld(sg1) 2677298Sobrien add %g7, %o2, %o4, %tie_add(sg1) 27130561Sobrien nop;nop;nop;nop 28130561Sobrien 2977298Sobrien /* direct %g7 access IE against global var */ 3077298Sobrien sethi %tie_hi22(sg2), %o0 3177298Sobrien add %o0, %tie_lo10(sg2), %o0 3277298Sobrien ld [%l1 + %o0], %o0, %tie_ld(sg2) 33130561Sobrien ld [%g7 + %o0], %o0, %tie_add(sg2) 34130561Sobrien nop;nop;nop;nop 35130561Sobrien 36130561Sobrien /* IE against hidden var */ 3777298Sobrien sethi %tie_hi22(sh1), %o0 38130561Sobrien add %o0, %tie_lo10(sh1), %o0 3977298Sobrien ld [%l1 + %o0], %o0, %tie_ld(sh1) 4077298Sobrien add %g7, %o0, %o0, %tie_add(sh1) 41130561Sobrien nop;nop;nop;nop 42130561Sobrien 4377298Sobrien /* direct %g7 access IE against hidden var */ 4477298Sobrien sethi %tie_hi22(sh2), %o5 4577298Sobrien add %o5, %tie_lo10(sh2), %o1 4677298Sobrien ld [%l1 + %o1], %o2, %tie_ld(sh2) 4777298Sobrien stb %o3, [%g7 + %o2], %tie_add(sh2) 4877298Sobrien nop;nop;nop;nop 4977298Sobrien 5078828Sobrien /* IE against local var */ 5178828Sobrien sethi %tie_hi22(bl1), %o0 5289857Sobrien add %o0, %tie_lo10(bl1), %o0 5389857Sobrien ld [%l1 + %o0], %o0, %tie_ld(bl1) 5477298Sobrien add %g7, %o0, %o0, %tie_add(bl1) 5577298Sobrien nop;nop;nop;nop 5677298Sobrien 57130561Sobrien /* direct %g7 access IE against local var */ 58130561Sobrien sethi %tie_hi22(bl2), %o5 5977298Sobrien add %o5, %tie_lo10(bl2), %o1 60218822Sdim ld [%l1 + %o1], %o2, %tie_ld(bl2) 61218822Sdim stb %o3, [%g7 + %o2], %tie_add(bl2) 6277298Sobrien nop;nop;nop;nop 6377298Sobrien 64130561Sobrien /* LE, local var */ 65130561Sobrien sethi %tle_hix22(bl3+1), %o2 66130561Sobrien xor %o2, %tle_lox10(bl3+1), %o4 67130561Sobrien add %g7, %o4, %o0 68130561Sobrien nop;nop;nop;nop 69130561Sobrien 7077298Sobrien /* LE, hidden var, direct %g7 access */ 7189857Sobrien sethi %tle_hix22(sh3), %o2 7289857Sobrien xor %o2, %tle_lox10(sh3), %o2 7389857Sobrien ld [%g7 + %o2], %o2 7489857Sobrien nop;nop;nop;nop 7589857Sobrien 7689857Sobrien ret 7777298Sobrien restore 7877298Sobrien