Hex Artifact Content
Not logged in

Artifact 1dcff2c655227aaee8e7abe640da8d94893f0ce0:


0000: 2f 2a 3d 3d 3d 2d 2d 20 73 79 6e 63 5f 66 65 74  /*===-- sync_fet
0010: 63 68 5f 61 6e 64 5f 6d 61 78 5f 38 2e 53 20 2d  ch_and_max_8.S -
0020: 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ---------------
0030: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0040: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 3d 3d 3d 2f 2f  -----------===//
0050: 0a 20 2a 0a 20 2a 20 20 20 20 20 20 20 20 20 20  . *. *          
0060: 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 4c             The L
0070: 4c 56 4d 20 43 6f 6d 70 69 6c 65 72 20 49 6e 66  LVM Compiler Inf
0080: 72 61 73 74 72 75 63 74 75 72 65 0a 20 2a 0a 20  rastructure. *. 
0090: 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 64  * This file is d
00a0: 75 61 6c 20 6c 69 63 65 6e 73 65 64 20 75 6e 64  ual licensed und
00b0: 65 72 20 74 68 65 20 4d 49 54 20 61 6e 64 20 74  er the MIT and t
00c0: 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66  he University of
00d0: 20 49 6c 6c 69 6e 6f 69 73 20 4f 70 65 6e 0a 20   Illinois Open. 
00e0: 2a 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65  * Source License
00f0: 73 2e 20 53 65 65 20 4c 49 43 45 4e 53 45 2e 54  s. See LICENSE.T
0100: 58 54 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a  XT for details..
0110: 20 2a 0a 20 2a 3d 3d 3d 2d 2d 2d 2d 2d 2d 2d 2d   *. *===--------
0120: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0130: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0140: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0150: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 3d 3d  --------------==
0160: 3d 2f 2f 0a 20 2a 0a 20 2a 20 54 68 69 73 20 66  =//. *. * This f
0170: 69 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74  ile implements t
0180: 68 65 20 5f 5f 73 79 6e 63 5f 66 65 74 63 68 5f  he __sync_fetch_
0190: 61 6e 64 5f 6d 61 78 5f 38 20 66 75 6e 63 74 69  and_max_8 functi
01a0: 6f 6e 20 66 6f 72 20 74 68 65 20 41 52 4d 0a 20  on for the ARM. 
01b0: 2a 20 61 72 63 68 69 74 65 63 74 75 72 65 2e 0a  * architecture..
01c0: 20 2a 0a 20 2a 3d 3d 3d 2d 2d 2d 2d 2d 2d 2d 2d   *. *===--------
01d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
01e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
01f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0200: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 3d 3d  --------------==
0210: 3d 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 22 73  =*/..#include "s
0220: 79 6e 63 2d 6f 70 73 2e 68 22 0a 0a 23 69 66 20  ync-ops.h"..#if 
0230: 5f 5f 41 52 4d 5f 41 52 43 48 5f 50 52 4f 46 49  __ARM_ARCH_PROFI
0240: 4c 45 20 21 3d 20 27 4d 27 0a 23 64 65 66 69 6e  LE != 'M'.#defin
0250: 65 20 6d 61 78 5f 38 28 72 44 5f 4c 4f 2c 20 72  e max_8(rD_LO, r
0260: 44 5f 48 49 2c 20 72 4e 5f 4c 4f 2c 20 72 4e 5f  D_HI, rN_LO, rN_
0270: 48 49 2c 20 72 4d 5f 4c 4f 2c 20 72 4d 5f 48 49  HI, rM_LO, rM_HI
0280: 29 20 20 20 20 20 20 20 20 20 4d 49 4e 4d 41 58  )         MINMAX
0290: 5f 38 28 72 44 5f 4c 4f 2c 20 72 44 5f 48 49 2c  _8(rD_LO, rD_HI,
02a0: 20 72 4e 5f 4c 4f 2c 20 72 4e 5f 48 49 2c 20 72   rN_LO, rN_HI, r
02b0: 4d 5f 4c 4f 2c 20 72 4d 5f 48 49 2c 20 67 74 29  M_LO, rM_HI, gt)
02c0: 0a 0a 53 59 4e 43 5f 4f 50 5f 38 28 6d 61 78 5f  ..SYNC_OP_8(max_
02d0: 38 29 0a 23 65 6e 64 69 66 0a 0a 4e 4f 5f 45 58  8).#endif..NO_EX
02e0: 45 43 5f 53 54 41 43 4b 5f 44 49 52 45 43 54 49  EC_STACK_DIRECTI
02f0: 56 45 0a 0a                                      VE..