12d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines/*===-- sync_fetch_and_xor_8.S - ------------------------------------------===//
22d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines *
32d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines *                     The LLVM Compiler Infrastructure
42d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines *
52d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines * This file is dual licensed under the MIT and the University of Illinois Open
62d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines * Source Licenses. See LICENSE.TXT for details.
72d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines *
82d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines *===----------------------------------------------------------------------===//
92d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines *
102d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines * This file implements the __sync_fetch_and_xor_8 function for the ARM
112d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines * architecture.
122d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines *
132d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines *===----------------------------------------------------------------------===*/
142d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines
152d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines#include "sync-ops.h"
162d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines
172d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines#define xor_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI) \
182d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines    eor rD_LO, rN_LO, rM_LO ; \
192d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines    eor rD_HI, rN_HI, rM_HI
202d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines
212d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen HinesSYNC_OP_8(xor_8)
222d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines
23