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