ObjFW  Check-in [4edb1e0d64]

Overview
Comment:Optimize PPC lookup
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 4edb1e0d64fb2b096255bd6e6f67504204a18246e9444d14f50464bb6a16d021
User & Date: js on 2014-05-03 12:09:59
Other Links: manifest | tags
Context
2014-05-03
22:38
lookup-asm-ppc-*.S: Use positive rotations check-in: 6776b7bd3c user: js tags: trunk
12:09
Optimize PPC lookup check-in: 4edb1e0d64 user: js tags: trunk
2014-05-02
22:49
Only use SPARC assembly if __arch64__ is undefined check-in: 8b9ea05af4 user: js tags: trunk
Changes

Modified src/runtime/lookup-asm/lookup-asm-ppc-elf.S from [430e7ba2f2] to [883108c0cc].

27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
	cmpwi	%r3, 0
	beq-	ret_nil

	lwz	%r5, 0(%r3)
	lwz	%r5, 32(%r5)

.Lmain_\name:
#ifdef OF_SELUID24
	lbz	%r6, 1(%r4)
#endif
	lbz	%r7, 2(%r4)
	lbz	%r8, 3(%r4)

#ifdef OF_SELUID24
	slwi	%r6, %r6, 2
#endif
	slwi	%r7, %r7, 2
	slwi	%r8, %r8, 2

#ifdef OF_SELUID24
	lwzx	%r5, %r5, %r6
#endif
	lwzx	%r5, %r5, %r7
	lwzx	%r5, %r5, %r8








<
<
<
<
|
<

|

|
|







27
28
29
30
31
32
33




34

35
36
37
38
39
40
41
42
43
44
45
46
	cmpwi	%r3, 0
	beq-	ret_nil

	lwz	%r5, 0(%r3)
	lwz	%r5, 32(%r5)

.Lmain_\name:




	lwz	%r8, 0(%r4)

#ifdef OF_SELUID24
	rlwinm	%r6, %r8, -14, 0x3FC
#endif
	rlwinm	%r7, %r8, -6, 0x3FC
	rlwinm	%r8, %r8, 2, 0x3FC

#ifdef OF_SELUID24
	lwzx	%r5, %r5, %r6
#endif
	lwzx	%r5, %r5, %r7
	lwzx	%r5, %r5, %r8

Modified src/runtime/lookup-asm/lookup-asm-ppc-macho.S from [095b4402f1] to [cc775c41de].

27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
	cmpwi	r3, 0
	beq-	ret_nil

	lwz	r5, 0(r3)
	lwz	r5, 32(r5)

Lmain_$0:
#ifdef OF_SELUID24
	lbz	r6, 1(r4)
#endif
	lbz	r7, 2(r4)
	lbz	r8, 3(r4)

#ifdef OF_SELUID24
	slwi	r6, r6, 2
#endif
	slwi	r7, r7, 2
	slwi	r8, r8, 2

#ifdef OF_SELUID24
	lwzx	r5, r5, r6
#endif
	lwzx	r5, r5, r7
	lwzx	r5, r5, r8








<
<
<
<
|
<

|

|
|







27
28
29
30
31
32
33




34

35
36
37
38
39
40
41
42
43
44
45
46
	cmpwi	r3, 0
	beq-	ret_nil

	lwz	r5, 0(r3)
	lwz	r5, 32(r5)

Lmain_$0:




	lwz	r8, 0(r4)

#ifdef OF_SELUID24
	rlwinm	r6, r8, -14, 0x3FC
#endif
	rlwinm	r7, r8, -6, 0x3FC
	rlwinm	r8, r8, 2, 0x3FC

#ifdef OF_SELUID24
	lwzx	r5, r5, r6
#endif
	lwzx	r5, r5, r7
	lwzx	r5, r5, r8