/************************************************************************
************************************************************************/
setx t48_data_area, %g1, %l7
setx t48_blk_area,%g1,%g5;
setx 0x5555555555555555, %g3, %g4
!# Enable PMU to count instructions...
setx t48_t54_perf,%g3,%g6;
!# Make sure FP trap enables are off...
setx loop_cnt_4, %g2,%g1 !msa
setx 0xffffffffffffffff, %g2, %l2
setx t48_perf_cnt,%g1,%g2
setx t49_data_area, %g1, %l7
setx t49_blk_area,%g1,%g5;
!# Initialize registers ..
!# Enable PMU to count instructions...
setx t48_t54_perf,%g3,%g6;
!#setx 0x17f85fe7, %g3, %g6
!# Make sure FP trap enables are off...
setx 0xf0f0f0abcdef9fff, %g3, %g4
setx loop_cnt_3, %g2, %g1
setx 0xffffffffffffffff, %g2, %l2
setx t49_perf_cnt,%g1,%g2
setx t50_data_area, %g1, %l7
setx t50_blk_area,%g1,%g5;
!# Initialize registers ..
!# Enable PMU to count instructions...
setx t48_t54_perf,%g3,%g6;
!#setx 0x17f85fe7, %g3, %g6
!# Make sure FP trap enables are off...
setx 0xefefefdcdcababab, %g3, %g4
setx loop_cnt_3, %g2, %g1
setx t50_perf_cnt,%g1,%g2
setx t51_data_area, %g1, %l7
setx t51_blk_area,%g1,%g5;
!# Initialize registers ..
!# Enable PMU to count instructions...
setx t48_t54_perf,%g3,%g6;
!#setx 0x17f85fe7, %g3, %g6
!# Make sure FP trap enables are off...
setx 0xf9f8f7f6f5f4f3f2, %g3, %g4
setx loop_cnt_2, %g2, %g1
setx t51_perf_cnt,%g1,%g2
setx t52_data_area, %g1, %l7
setx t52_blk_area,%g1,%g5;
!# Initialize registers ..
!# Enable PMU to count instructions...
setx t48_t54_perf,%g3,%g6;
!#setx 0x17f85fe7, %g3, %g6
!# Make sure trap enables are off...
setx 0xaaaaaaaaaaaaaaaa, %g3, %g4
setx t52_perf_cnt,%g1,%g2
setx t53_data_area, %g1, %l7
setx t53_blk_area,%g1,%g5;
!# Initialize registers ..
!# Enable PMU to count instructions...
setx t48_t54_perf,%g3,%g6;
!#setx 0x17f85fe7, %g3, %g6
!# Make sure trap enables are off...
setx 0xaaaaaaaaaaaaaaaa, %g3, %g4
setx t53_perf_cnt,%g1,%g2
setx t54_data_area, %g1, %l7
setx t54_blk_area,%g1,%g5;
!# Initialize registers ..
!# Enable PMU to count instructions...
setx t48_t54_perf,%g3,%g6;
!#setx 0x17f85fe7, %g3, %g6
!# Make sure trap enables are off...
setx 0xfedcba9876543210, %g3, %g4
setx loop_cnt_2, %g2, %g1
setx t54_perf_cnt,%g1,%g2
setx 0x612345000, %g7, %l0 ! bits [16:8] selects index in 4 bank mode
setx 0x623456040, %g7, %l1
setx 0x634567080, %g7, %l2
setx 0x6456780c0, %g7, %l3
setx 0x656789100, %g7, %l4
setx 0x66789a140, %g7, %l5
setx 0x6789ab180, %g7, %l6
setx 0x689abc1c0, %g7, %l7
setx NUM_LOOP_TH7, %i0, %o1
ld [%l0+0x8], %i2 !ld hit
st %g0, [%l0+0x200] !st miss
st %g0, [%l0+0x208] !st hit
ld [%l1+0x8], %i2 !ld hit
st %g0, [%l1+0x200] !st miss
st %g0, [%l1+0x208] !st hit
ld [%l2+0x8], %i2 !ld hit
st %g0, [%l2+0x200] !st miss
st %g0, [%l2+0x208] !st hit
ld [%l3+0x8], %i2 !ld hit
st %g0, [%l3+0x200] !st miss
st %g0, [%l3+0x208] !st hit
ld [%l4+0x8], %i2 !ld hit
st %g0, [%l4+0x200] !st miss
st %g0, [%l4+0x208] !st hit
ld [%l5+0x8], %i2 !ld hit
st %g0, [%l5+0x200] !st miss
st %g0, [%l5+0x208] !st hit
ld [%l6+0x8], %i2 !ld hit
st %g0, [%l6+0x200] !st miss
st %g0, [%l6+0x208] !st hit
ld [%l7+0x8], %i2 !ld hit
st %g0, [%l7+0x200] !st miss
st %g0, [%l7+0x208] !st hit
!=================================================================================================
/************************************************************************
************************************************************************/
!# A operand, 32 doublewords
.xword 0xb61e0f74d889169f !# a[0] for 3
.xword 0xeb7dad6d2db34663 !# a[1] for 3
.xword 0x000000069fad6615 !# a[2] for 3
.xword 0x85587F96342B939A
.xword 0x00DD7AAD15E30EB1
.xword 0xFFFFEEEE00006000
.xword 0xFFFFEEEE00007000
.xword 0x222D15F21092A854
.xword 0xFFFFEEEE00009000
.xword 0xFD2CB924281A7FB1
.xword 0xFFFFEEEE0000B000
.xword 0x12D7C16982229DCF
.xword 0xA75C18D599E04451
.xword 0xA3BE82C81B280E9D
.xword 0x8964B57FD2745FFB
.xword 0x4103465563EB1347
.xword 0xB4181F76C7A2CE01
.xword 0xFFFFFFFF10005000
.xword 0x4AC14D5A55D9D2BD
!#.xword 0x9711E4D4E862AFA7
.xword 0x2313258847A86E70
.xword 0x47A084C3801DE4F9
.xword 0x6B655B6A27D64052
.xword 0x48CBC2665D6D8BB8
.xword 0xD60A8BF421AA5DC8
.xword 0xF4529D511F583B2D
.xword 0xFFFFFFFF1000D000
.xword 0x27A0C706E2B783D4
.xword 0x00004FFF0000FFFF !#
.xword 0x0FFF8000FFFF0001 !#
.xword 0xF000FFFF0000FF00 !#
.xword 0x0000FFFF0000FF00 !#
.xword 0x1A890F27A74D6D4F !#
.xword 0xB34C93D130DF03BC !#
.xword 0xFD33BC46D2B25B52 !#
.xword 0x0FFFFFFF00006000 !#
.xword 0x9000111122223333
.xword 0x4444555566667777
.xword 0xFFFFEEEE00006000
.xword 0xFFFFEEEE00007000
.xword 0x222D15F21092A854
.xword 0xFFFFEEEE00009000
.xword 0xFD2CB924281A7FB1
.xword 0xFFFFEEEE0000B000
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0xA000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0xFFFFFFFF22223333
!# N operand, 32 doublewords
.xword 0x00000000000000c9 !# 3. n[0]
.xword 0x0000000000000000 !# 3. n[1]
.xword 0x0000000800000000 !# 3. n[2]
.xword 0xFFFFFFFF00007000
.xword 0xFFFFFFFF00008000
.xword 0xFFFFFFFF00009000
.xword 0xFFFFFFFF0000A000
.xword 0xFFFFFFFF0000B000
.xword 0xFFFFFFFF0000C000
.xword 0xFAEDBEEF0000D000
.xword 0xFFFFFFFF0000E000
.xword 0xFFFFFFFF0000F000
.xword 0xFFFFFFFF10000000
.xword 0xFFFFFFFF10001000
.xword 0xFFFFFFFF10002000
.xword 0xFFFFFFFF10003000
.xword 0xFFFFFFFF10004000
.xword 0xFFFFFFFF10005000
.xword 0xFFFFFFFF10006000
.xword 0xFFFFFFFF10007000
.xword 0xFFFFFFFF10008000
.xword 0xFFFFFFFF10009000
.xword 0xFFFFFFFF1000A000
.xword 0xFFFFFFFF1000B000
.xword 0xEFFFFFFF1000C000
.xword 0xFFFFFFFF1000D000
.xword 0xFFFFFFFF1000E000
.xword 0xAAAAAAAAAAAAAAAA !# 3. e[0]
.xword 0xAAAAAAAAAAAAAAAA !# 3. e[1]
.xword 0x0000000AAAAAAAAA !# 3. e[2]
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0xb61e0f74d889169f !# a[0] for 3
.xword 0xeb7dad6d2db34663 !# a[1] for 3
.xword 0x000000069fad6615 !# a[2] for 3
!#.xword 0x0000001920000000 !# x[0] for 3
!#.xword 0x0000000000000000 !# x[1] for 3
!#.xword 0x0000000000000000 !# x[2] for 3
!# Expected X result starts here
.xword 0x9890891c6f7c2d0b !# 3. X[0]
.xword 0x8d0356cf2e263a36 !# 3. X[1]
.xword 0x000000074dc55ef7 !# 3. X[2]
.xword 0x0011223344556677 !# junk area for divide wait loop operand storage
!================================================================================================
!=================================================================================================
.xword 0x0011223344556677
.xword 0x8899aabbccddeeff
!# AES initial state (also where final state will be written)
.xword 0x0001020304050607
.xword 0x08090a0b0c0d0e0f
.xword 0x1011121314151617
.xword 0x18191a1b1c1d1e1f
.xword 0x8ea2b7ca516745bf
.xword 0xeafc49904b496089
!# temporary area for storing expected result
.xword 0xDEADBEEFDEADBEEF
.xword 0xDEADBEEFDEADBEEF
!################################################
!# CWQ data area, set aside 512 CW's worth
!=================================================================================================1
.xword 0x0000000000000000
!==================================================================================================
.xword 0x0000000017f85fe7
.xword 0x0000000057f99fe7
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
!==================================================================================================
.xword 0x00ffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0x0100000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x02ffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0x0300000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x04ffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0x0500000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x06ffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0x0700000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000