blob: 8aadb97129dc0b775452d60545f2517894e88fa9 [file] [log] [blame]
#[macro_export] macro_rules! foreach_ldset { ($macro:path) => {
$macro!( Relaxed, 1, __aarch64_ldset1_relax );
$macro!( Relaxed, 2, __aarch64_ldset2_relax );
$macro!( Relaxed, 4, __aarch64_ldset4_relax );
$macro!( Relaxed, 8, __aarch64_ldset8_relax );
$macro!( Acquire, 1, __aarch64_ldset1_acq );
$macro!( Acquire, 2, __aarch64_ldset2_acq );
$macro!( Acquire, 4, __aarch64_ldset4_acq );
$macro!( Acquire, 8, __aarch64_ldset8_acq );
$macro!( Release, 1, __aarch64_ldset1_rel );
$macro!( Release, 2, __aarch64_ldset2_rel );
$macro!( Release, 4, __aarch64_ldset4_rel );
$macro!( Release, 8, __aarch64_ldset8_rel );
$macro!( AcqRel, 1, __aarch64_ldset1_acq_rel );
$macro!( AcqRel, 2, __aarch64_ldset2_acq_rel );
$macro!( AcqRel, 4, __aarch64_ldset4_acq_rel );
$macro!( AcqRel, 8, __aarch64_ldset8_acq_rel );
}; }#[macro_export] macro_rules! foreach_cas { ($macro:path) => {
$macro!( Relaxed, 1, __aarch64_cas1_relax );
$macro!( Relaxed, 2, __aarch64_cas2_relax );
$macro!( Relaxed, 4, __aarch64_cas4_relax );
$macro!( Relaxed, 8, __aarch64_cas8_relax );
$macro!( Acquire, 1, __aarch64_cas1_acq );
$macro!( Acquire, 2, __aarch64_cas2_acq );
$macro!( Acquire, 4, __aarch64_cas4_acq );
$macro!( Acquire, 8, __aarch64_cas8_acq );
$macro!( Release, 1, __aarch64_cas1_rel );
$macro!( Release, 2, __aarch64_cas2_rel );
$macro!( Release, 4, __aarch64_cas4_rel );
$macro!( Release, 8, __aarch64_cas8_rel );
$macro!( AcqRel, 1, __aarch64_cas1_acq_rel );
$macro!( AcqRel, 2, __aarch64_cas2_acq_rel );
$macro!( AcqRel, 4, __aarch64_cas4_acq_rel );
$macro!( AcqRel, 8, __aarch64_cas8_acq_rel );
}; }#[macro_export] macro_rules! foreach_swp { ($macro:path) => {
$macro!( Relaxed, 1, __aarch64_swp1_relax );
$macro!( Relaxed, 2, __aarch64_swp2_relax );
$macro!( Relaxed, 4, __aarch64_swp4_relax );
$macro!( Relaxed, 8, __aarch64_swp8_relax );
$macro!( Acquire, 1, __aarch64_swp1_acq );
$macro!( Acquire, 2, __aarch64_swp2_acq );
$macro!( Acquire, 4, __aarch64_swp4_acq );
$macro!( Acquire, 8, __aarch64_swp8_acq );
$macro!( Release, 1, __aarch64_swp1_rel );
$macro!( Release, 2, __aarch64_swp2_rel );
$macro!( Release, 4, __aarch64_swp4_rel );
$macro!( Release, 8, __aarch64_swp8_rel );
$macro!( AcqRel, 1, __aarch64_swp1_acq_rel );
$macro!( AcqRel, 2, __aarch64_swp2_acq_rel );
$macro!( AcqRel, 4, __aarch64_swp4_acq_rel );
$macro!( AcqRel, 8, __aarch64_swp8_acq_rel );
}; }#[macro_export] macro_rules! foreach_ldclr { ($macro:path) => {
$macro!( Relaxed, 1, __aarch64_ldclr1_relax );
$macro!( Relaxed, 2, __aarch64_ldclr2_relax );
$macro!( Relaxed, 4, __aarch64_ldclr4_relax );
$macro!( Relaxed, 8, __aarch64_ldclr8_relax );
$macro!( Acquire, 1, __aarch64_ldclr1_acq );
$macro!( Acquire, 2, __aarch64_ldclr2_acq );
$macro!( Acquire, 4, __aarch64_ldclr4_acq );
$macro!( Acquire, 8, __aarch64_ldclr8_acq );
$macro!( Release, 1, __aarch64_ldclr1_rel );
$macro!( Release, 2, __aarch64_ldclr2_rel );
$macro!( Release, 4, __aarch64_ldclr4_rel );
$macro!( Release, 8, __aarch64_ldclr8_rel );
$macro!( AcqRel, 1, __aarch64_ldclr1_acq_rel );
$macro!( AcqRel, 2, __aarch64_ldclr2_acq_rel );
$macro!( AcqRel, 4, __aarch64_ldclr4_acq_rel );
$macro!( AcqRel, 8, __aarch64_ldclr8_acq_rel );
}; }#[macro_export] macro_rules! foreach_ldadd { ($macro:path) => {
$macro!( Relaxed, 1, __aarch64_ldadd1_relax );
$macro!( Relaxed, 2, __aarch64_ldadd2_relax );
$macro!( Relaxed, 4, __aarch64_ldadd4_relax );
$macro!( Relaxed, 8, __aarch64_ldadd8_relax );
$macro!( Acquire, 1, __aarch64_ldadd1_acq );
$macro!( Acquire, 2, __aarch64_ldadd2_acq );
$macro!( Acquire, 4, __aarch64_ldadd4_acq );
$macro!( Acquire, 8, __aarch64_ldadd8_acq );
$macro!( Release, 1, __aarch64_ldadd1_rel );
$macro!( Release, 2, __aarch64_ldadd2_rel );
$macro!( Release, 4, __aarch64_ldadd4_rel );
$macro!( Release, 8, __aarch64_ldadd8_rel );
$macro!( AcqRel, 1, __aarch64_ldadd1_acq_rel );
$macro!( AcqRel, 2, __aarch64_ldadd2_acq_rel );
$macro!( AcqRel, 4, __aarch64_ldadd4_acq_rel );
$macro!( AcqRel, 8, __aarch64_ldadd8_acq_rel );
}; }#[macro_export] macro_rules! foreach_ldeor { ($macro:path) => {
$macro!( Relaxed, 1, __aarch64_ldeor1_relax );
$macro!( Relaxed, 2, __aarch64_ldeor2_relax );
$macro!( Relaxed, 4, __aarch64_ldeor4_relax );
$macro!( Relaxed, 8, __aarch64_ldeor8_relax );
$macro!( Acquire, 1, __aarch64_ldeor1_acq );
$macro!( Acquire, 2, __aarch64_ldeor2_acq );
$macro!( Acquire, 4, __aarch64_ldeor4_acq );
$macro!( Acquire, 8, __aarch64_ldeor8_acq );
$macro!( Release, 1, __aarch64_ldeor1_rel );
$macro!( Release, 2, __aarch64_ldeor2_rel );
$macro!( Release, 4, __aarch64_ldeor4_rel );
$macro!( Release, 8, __aarch64_ldeor8_rel );
$macro!( AcqRel, 1, __aarch64_ldeor1_acq_rel );
$macro!( AcqRel, 2, __aarch64_ldeor2_acq_rel );
$macro!( AcqRel, 4, __aarch64_ldeor4_acq_rel );
$macro!( AcqRel, 8, __aarch64_ldeor8_acq_rel );
}; }#[macro_export] macro_rules! foreach_cas16 { ($macro:path) => {
$macro!( Relaxed, __aarch64_cas16_relax );
$macro!( Acquire, __aarch64_cas16_acq );
$macro!( Release, __aarch64_cas16_rel );
$macro!( AcqRel, __aarch64_cas16_acq_rel );
}; }