2 // Copyright (c) 2006, Intel Corporation
3 // All rights reserved. This program and the accompanying materials
4 // are licensed and made available under the terms and conditions of the BSD License
5 // which accompanies this distribution. The full text of the license may be found at
6 // http://opensource.org/licenses/bsd-license.php
8 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
9 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
24 .section .text, "ax", "progbits"
26 .section .pdata, "a", "progbits"
28 .section .xdata, "a", "progbits"
30 .section .data, "wa", "progbits"
32 .section .rdata, "a", "progbits"
34 .section .bss, "wa", "nobits"
36 .section .tls$, "was", "progbits"
38 .section .sdata, "was", "progbits"
40 .section .sbss, "was", "nobits"
42 .section .srdata, "as", "progbits"
44 .section .rdata, "a", "progbits"
46 .section .rtcode, "ax", "progbits"
48 .type InvalidateInstructionCacheRange# ,@function
49 .global InvalidateInstructionCacheRange#
50 // Function compile flags: /Ogsy
53 // Begin code for function: InvalidateInstructionCacheRange:
54 .proc InvalidateInstructionCacheRange#
56 InvalidateInstructionCacheRange:
57 // File e:\tmp\pioflush.c
59 alloc r3=2, 0, 0, 0 //11, 00000002H
60 cmp4.leu p0,p6=32, r33;; //15, 00000020H
61 (p6) mov r33=32;; //16, 00000020H
63 { .mii //R-Addr: 0X010
66 dep.z r30=r29, 0, 5;; //21, 00000005H
68 { .mii //R-Addr: 0X020
69 cmp4.eq p0,p7=r0, r30 //21
70 shr.u r28=r29, 5;; //19, 00000005H
71 (p7) adds r28=1, r28;; //22, 00000001H
73 { .mii //R-Addr: 0X030
75 shl r27=r28, 5;; //25, 00000005H
78 { .mfb //R-Addr: 0X040
84 { .mii //R-Addr: 0X050
86 adds r32=32, r32;; //28, 00000020H
87 cmp.ltu p14,p15=r32, r31 //29
89 { .mfb //R-Addr: 0X060
92 (p14) br.cond.dptk.few $L143#;; //29, 880000/120000
99 { .mfb //R-Addr: 0X070
102 br.ret.sptk.few b0;; //31
104 // End code for function:
105 .endp InvalidateInstructionCacheRange#