Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(864)

Side by Side Diff: tests/infoleak/test_infoleak_mips.S

Issue 2521263002: [MIPS] Remove explicit masks from assembly code (Closed)
Patch Set: Minor change. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The Native Client Authors. All rights reserved. 2 * Copyright (c) 2013 The Native Client Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be 3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file. 4 * found in the LICENSE file.
5 */ 5 */
6 6
7 #include "native_client/pnacl/support/nacl_mips_defs.h"
8
9 /* 7 /*
10 * Receives no arguments, just clears registers. 8 * Receives no arguments, just clears registers.
11 */ 9 */
12 .text 10 .text
13 .p2align 4 11 .p2align 4
14 .set noreorder 12 .set noreorder
15 .globl infoleak_clear_state 13 .globl infoleak_clear_state
16 infoleak_clear_state: 14 infoleak_clear_state:
17 mtc1 $zero, $f0 15 mtc1 $zero, $f0
18 mtc1 $zero, $f1 16 mtc1 $zero, $f1
19 mov.d $f2, $f0 17 mov.d $f2, $f0
20 mov.d $f4, $f0 18 mov.d $f4, $f0
21
22 mov.d $f6, $f0 19 mov.d $f6, $f0
23 mov.d $f8, $f0 20 mov.d $f8, $f0
24 mov.d $f10, $f0 21 mov.d $f10, $f0
25 mov.d $f12, $f0 22 mov.d $f12, $f0
26
27 mov.d $f14, $f0 23 mov.d $f14, $f0
28 mov.d $f16, $f0 24 mov.d $f16, $f0
29 mov.d $f18, $f0 25 mov.d $f18, $f0
30 mov.d $f20, $f0 26 mov.d $f20, $f0
31
32 mov.d $f22, $f0 27 mov.d $f22, $f0
33 mov.d $f24, $f0 28 mov.d $f24, $f0
34 mov.d $f26, $f0 29 mov.d $f26, $f0
35 mov.d $f28, $f0 30 mov.d $f28, $f0
36
37 mov.d $f30, $f0 31 mov.d $f30, $f0
38 and $ra, $ra, JUMP_MASK
39 jr $ra 32 jr $ra
40 nop 33 nop
41 .set reorder 34 .set reorder
42 35
43
44 /* 36 /*
45 * Receives: 37 * Receives:
46 * a0: pointer to float_regs structure 38 * a0: pointer to float_regs structure
47 */ 39 */
48 40
49 .p2align 4 41 .p2align 4
50 .set noreorder 42 .set noreorder
51 .globl infoleak_fetch_regs 43 .globl infoleak_fetch_regs
52 infoleak_fetch_regs: 44 infoleak_fetch_regs:
53 and $a0, $a0, STORE_MASK 45 sdc1 $f0, 0($a0)
54 sdc1 $f0, 0($a0) 46 sdc1 $f2, 8($a0)
55 and $a0, $a0, STORE_MASK 47 sdc1 $f4, 16($a0)
56 sdc1 $f2, 8($a0) 48 sdc1 $f6, 24($a0)
57 49 sdc1 $f8, 32($a0)
58 and $a0, $a0, STORE_MASK
59 sdc1 $f4, 16($a0)
60 and $a0, $a0, STORE_MASK
61 sdc1 $f6, 24($a0)
62
63 and $a0, $a0, STORE_MASK
64 sdc1 $f8, 32($a0)
65 and $a0, $a0, STORE_MASK
66 sdc1 $f10, 40($a0) 50 sdc1 $f10, 40($a0)
67
68 and $a0, $a0, STORE_MASK
69 sdc1 $f12, 48($a0) 51 sdc1 $f12, 48($a0)
70 and $a0, $a0, STORE_MASK
71 sdc1 $f14, 56($a0) 52 sdc1 $f14, 56($a0)
72
73 and $a0, $a0, STORE_MASK
74 sdc1 $f16, 64($a0) 53 sdc1 $f16, 64($a0)
75 and $a0, $a0, STORE_MASK
76 sdc1 $f18, 72($a0) 54 sdc1 $f18, 72($a0)
77
78 and $a0, $a0, STORE_MASK
79 sdc1 $f20, 80($a0) 55 sdc1 $f20, 80($a0)
80 and $a0, $a0, STORE_MASK
81 sdc1 $f22, 88($a0) 56 sdc1 $f22, 88($a0)
82
83 and $a0, $a0, STORE_MASK
84 sdc1 $f24, 96($a0) 57 sdc1 $f24, 96($a0)
85 and $a0, $a0, STORE_MASK
86 sdc1 $f26, 104($a0) 58 sdc1 $f26, 104($a0)
87
88 and $a0, $a0, STORE_MASK
89 sdc1 $f28, 112($a0) 59 sdc1 $f28, 112($a0)
90 and $a0, $a0, STORE_MASK
91 sdc1 $f30, 120($a0) 60 sdc1 $f30, 120($a0)
92
93 and $ra, $ra, JUMP_MASK
94 jr $ra 61 jr $ra
95 nop 62 nop
96 63
97 .set reorder 64 .set reorder
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698