63
63
// We need to process 32 bytes per loop to schedule PLD properly
64
64
// and achieve the maximum bus speed.
66
"ldr %[v], [ %[s] ], #4 \n"
66
"ldr %[v], [%[s]], #4 \n"
67
67
"sub %[l], %[l], %[s] \n"
70
"pld [ %[s], #64 ] \n"
72
72
"sub %[t], %[v], %[mask], lsr #7\n"
73
73
"and %[t], %[t], %[mask] \n"
74
74
"bics %[t], %[t], %[v] \n"
75
"ldreq %[v], [ %[s] ], #4 \n"
75
"ldreq %[v], [%[s]], #4 \n"
76
76
#if !defined(__OPTIMIZE_SIZE__)
78
78
"sub %[t], %[v], %[mask], lsr #7\n"
79
79
"and %[t], %[t], %[mask] \n"
80
80
"bics %[t], %[t], %[v] \n"
81
"ldreq %[v], [ %[s] ], #4 \n"
83
"sub %[t], %[v], %[mask], lsr #7\n"
84
"and %[t], %[t], %[mask] \n"
85
"bics %[t], %[t], %[v] \n"
86
"ldreq %[v], [ %[s] ], #4 \n"
88
"sub %[t], %[v], %[mask], lsr #7\n"
89
"and %[t], %[t], %[mask] \n"
90
"bics %[t], %[t], %[v] \n"
91
"ldreq %[v], [ %[s] ], #4 \n"
93
"sub %[t], %[v], %[mask], lsr #7\n"
94
"and %[t], %[t], %[mask] \n"
95
"bics %[t], %[t], %[v] \n"
96
"ldreq %[v], [ %[s] ], #4 \n"
98
"sub %[t], %[v], %[mask], lsr #7\n"
99
"and %[t], %[t], %[mask] \n"
100
"bics %[t], %[t], %[v] \n"
101
"ldreq %[v], [ %[s] ], #4 \n"
103
"sub %[t], %[v], %[mask], lsr #7\n"
104
"and %[t], %[t], %[mask] \n"
105
"bics %[t], %[t], %[v] \n"
106
"ldreq %[v], [ %[s] ], #4 \n"
108
"sub %[t], %[v], %[mask], lsr #7\n"
109
"and %[t], %[t], %[mask] \n"
110
"bics %[t], %[t], %[v] \n"
111
"ldreq %[v], [ %[s] ], #4 \n"
81
"ldreq %[v], [%[s]], #4 \n"
83
"sub %[t], %[v], %[mask], lsr #7\n"
84
"and %[t], %[t], %[mask] \n"
85
"bics %[t], %[t], %[v] \n"
86
"ldreq %[v], [%[s]], #4 \n"
88
"sub %[t], %[v], %[mask], lsr #7\n"
89
"and %[t], %[t], %[mask] \n"
90
"bics %[t], %[t], %[v] \n"
91
"ldreq %[v], [%[s]], #4 \n"
93
"sub %[t], %[v], %[mask], lsr #7\n"
94
"and %[t], %[t], %[mask] \n"
95
"bics %[t], %[t], %[v] \n"
96
"ldreq %[v], [%[s]], #4 \n"
98
"sub %[t], %[v], %[mask], lsr #7\n"
99
"and %[t], %[t], %[mask] \n"
100
"bics %[t], %[t], %[v] \n"
101
"ldreq %[v], [%[s]], #4 \n"
103
"sub %[t], %[v], %[mask], lsr #7\n"
104
"and %[t], %[t], %[mask] \n"
105
"bics %[t], %[t], %[v] \n"
106
"ldreq %[v], [%[s]] , #4 \n"
108
"sub %[t], %[v], %[mask], lsr #7\n"
109
"and %[t], %[t], %[mask] \n"
110
"bics %[t], %[t], %[v] \n"
111
"ldreq %[v], [%[s]], #4 \n"