bpmult.s 3.63 KB
/****************************************************************
  SCALAR UNIT BYPASS TEST: 5
 ****************************************************************/

.base 0x00000000

	lui	$1,	0x3038
	ori	$1,	0x2DB6
	lui	$2,	0x2DA5
	ori	$2,	0x2A31
	lui	$3,	0x4F13
	ori	$3,	0x6098
	lui	$4,	0x70F5
	ori	$4,	0x61D6
	lui	$5,	0x6EB7
	ori	$5,	0x7D2A
	lui	$6,	0x683F
	ori	$6,	0x0DD5
	lui	$7,	0x7021
	ori	$7,	0x6704
	lui	$8,	0x593A
	ori	$8,	0x3A4E
	lui	$9,	0x4532
	ori	$9,	0x48CB
	lui	$10,	0x5E1A
	ori	$10,	0x28B8
	lui	$11,	0x7C17
	ori	$11,	0x592B
	lui	$12,	0x0CE1
	ori	$12,	0x3335
	lui	$13,	0x157A
	ori	$13,	0x7392
	lui	$14,	0x476A
	ori	$14,	0x09B0
	lui	$15,	0x116A
	ori	$15,	0x00B1
	lui	$16,	0x0036
	ori	$16,	0x24BC
	lui	$17,	0x5F0B
	ori	$17,	0x6AB4
	lui	$18,	0x7FF5
	ori	$18,	0x0A2C
	lui	$19,	0x1AFD
	ori	$19,	0x193C
	lui	$20,	0x77D4
	ori	$20,	0x3F72
	lui	$21,	0x488D
	ori	$21,	0x3120
	lui	$22,	0x6C89
	ori	$22,	0x05B8
	lui	$23,	0x719E
	ori	$23,	0x13E8
	lui	$24,	0x4620
	ori	$24,	0x3BC0
	lui	$25,	0x5955
	ori	$25,	0x5B05
	lui	$26,	0x1083
	ori	$26,	0x017C
	lui	$27,	0x2D87
	ori	$27,	0x4AD2
	lui	$28,	0x38CA
	ori	$28,	0x796D
	lui	$29,	0x62E4
	ori	$29,	0x794B
	lui	$30,	0x5348
	ori	$30,	0x43BC
	lui	$31,	0x27E0
	ori	$31,	0x248F

	/* TEST #102 *********************************************/
	/* Initialize test registers */
	lui	$17,	0x3651
	ori	$17,	0x0F19
	lui	$18,	0x1A65
	ori	$18,	0x7517
	lui	$19,	0x75CD
	ori	$19,	0x5B57
	lui	$20,	0x2C3A
	ori	$20,	0x27B4
	lui	$21,	0x0B7E
	ori	$21,	0x49C4

	/* Test */
	xor	$17,	$20,	$21
	xor	$17,	$18,	$19
	xor	$17,	$19,	$20
	nop
	nop
	nop
	xori	$21,	$17,	0xFFFF

	/* Check result */
	nop
	nop
	nop
	lui	$18,	0x59F7
	ori	$18,	0x831C
	bne	$18,	$21,	Fail
	nop

	/* TEST #103 *********************************************/
	/* Initialize test registers */
	lui	$19,	0x6231
	ori	$19,	0x5B4A
	lui	$20,	0x3811
	ori	$20,	0x174A
	lui	$21,	0x5A13
	ori	$21,	0x7E4F
	lui	$22,	0x68E6
	ori	$22,	0x1C47
	lui	$23,	0x434C
	ori	$23,	0x1801

	/* Test */
	xor	$19,	$22,	$23
	xor	$19,	$20,	$21
	xor	$19,	$21,	$22
	nop
	nop
	xori	$23,	$19,	0xFFFF

	/* Check result */
	nop
	nop
	nop
	lui	$20,	0x32F5
	ori	$20,	0x9DF7
	bne	$20,	$23,	Fail
	nop

	/* TEST #104 *********************************************/
	/* Initialize test registers */
	lui	$21,	0x2E9F
	ori	$21,	0x6E2C
	lui	$22,	0x3657
	ori	$22,	0x696A
	lui	$23,	0x106A
	ori	$23,	0x7ED7
	lui	$24,	0x16E7
	ori	$24,	0x2214
	lui	$25,	0x480F
	ori	$25,	0x55B1

	/* Test */
	xor	$21,	$24,	$25
	xor	$21,	$22,	$23
	xor	$21,	$23,	$24
	nop
	xori	$25,	$21,	0xFFFF

	/* Check result */
	nop
	nop
	nop
	lui	$22,	0x068D
	ori	$22,	0xA33C
	bne	$22,	$25,	Fail
	nop

	/* TEST #105 *********************************************/
	/* Initialize test registers */
	lui	$23,	0x6CDB
	ori	$23,	0x248C
	lui	$24,	0x32B8
	ori	$24,	0x3E87
	lui	$25,	0x5FDF
	ori	$25,	0x1699
	lui	$26,	0x0283
	ori	$26,	0x0A29
	lui	$27,	0x41E1
	ori	$27,	0x393A

	/* Test */
	xor	$23,	$26,	$27
	xor	$23,	$24,	$25
	xor	$23,	$25,	$26
	xori	$27,	$23,	0xFFFF

	/* Check result */
	nop
	nop
	nop
	lui	$24,	0x5D5C
	ori	$24,	0xE34F
	bne	$24,	$27,	Fail
	nop

	lui	$1, 0xFEED;
	sw	$0, 0xf80($0);
	sw	$1, 0xf84($0);
	sw	$2, 0xf88($0);
	sw	$3, 0xf8c($0);
	sw	$4, 0xf90($0);
	sw	$5, 0xf94($0);
	sw	$6, 0xf98($0);
	sw	$7, 0xf9c($0);
	sw	$8, 0xfa0($0);
	sw	$9, 0xfa4($0);
	sw	$10, 0xfa8($0);
	sw	$11, 0xfac($0);
	sw	$12, 0xfb0($0);
	sw	$13, 0xfb4($0);
	sw	$14, 0xfb8($0);
	sw	$15, 0xfbc($0);
	sw	$16, 0xfc0($0);
	sw	$17, 0xfc4($0);
	sw	$18, 0xfc8($0);
	sw	$19, 0xfcc($0);
	sw	$20, 0xfd0($0);
	sw	$21, 0xfd4($0);
	sw	$22, 0xfd8($0);
	sw	$23, 0xfdc($0);
	sw	$24, 0xfe0($0);
	sw	$25, 0xfe4($0);
	sw	$26, 0xfe8($0);
	sw	$27, 0xfec($0);
	sw	$28, 0xff0($0);
	sw	$29, 0xff4($0);
	sw	$30, 0xff8($0);
	sw	$31, 0xffc($0);
Fail:	break;