/*
** atomic_store_int_seq_cst:
-** lw\t[atx][0-9]+,0\(a1\)
+** (lwu|lw)\t[atx][0-9]+,0\(a1\)
** fence\trw,w
** sw\t[atx][0-9]+,0\(a0\)
** fence\trw,rw
/*
** atomic_store_int_relaxed:
-** lw\t[atx][0-9]+,0\(a1\)
+** (lwu|lw)\t[atx][0-9]+,0\(a1\)
** sw\t[atx][0-9]+,0\(a0\)
** ret
*/
/*
** atomic_store_int_release:
-** lw\t[atx][0-9]+,0\(a1\)
+** (lwu|lw)\t[atx][0-9]+,0\(a1\)
** fence\trw,w
** sw\t[atx][0-9]+,0\(a0\)
** ret
/*
** atomic_store_int_seq_cst:
-** lw\t[atx][0-9]+,0\(a1\)
+** (lwu|lw)\t[atx][0-9]+,0\(a1\)
** sw\t[atx][0-9]+,0\(a0\)
** fence\trw,rw
** ret
/*
** atomic_store_int_relaxed:
-** lw\t[atx][0-9]+,0\(a1\)
+** (lwu|lw)\t[atx][0-9]+,0\(a1\)
** sw\t[atx][0-9]+,0\(a0\)
** ret
*/
/*
** atomic_store_int_release:
-** lw\t[atx][0-9]+,0\(a1\)
+** (lwu|lw)\t[atx][0-9]+,0\(a1\)
** sw\t[atx][0-9]+,0\(a0\)
** ret
*/
/*
** atomic_store_int_seq_cst:
-** lw\t[atx][0-9]+,0\(a1\)
+** (lwu|lw)\t[atx][0-9]+,0\(a1\)
** sw.rl\t[atx][0-9]+,0\(a0\)
** ret
*/
/*
** atomic_store_int_relaxed:
-** lw\t[atx][0-9]+,0\(a1\)
+** (lwu|lw)\t[atx][0-9]+,0\(a1\)
** sw\t[atx][0-9]+,0\(a0\)
** ret
*/
/*
** atomic_store_int_release:
-** lw\t[atx][0-9]+,0\(a1\)
+** (lwu|lw)\t[atx][0-9]+,0\(a1\)
** sw.rl\t[atx][0-9]+,0\(a0\)
** ret
*/
/*
** atomic_store_int_seq_cst:
-** lw\t[atx][0-9]+,0\(a1\)
+** (lwu|lw)\t[atx][0-9]+,0\(a1\)
** sw.rl\t[atx][0-9]+,0\(a0\)
** ret
*/
/*
** atomic_store_int_relaxed:
-** lw\t[atx][0-9]+,0\(a1\)
+** (lwu|lw)\t[atx][0-9]+,0\(a1\)
** sw\t[atx][0-9]+,0\(a0\)
** ret
*/
/*
** atomic_store_int_release:
-** lw\t[atx][0-9]+,0\(a1\)
+** (lwu|lw)\t[atx][0-9]+,0\(a1\)
** sw\t[atx][0-9]+,0\(a0\)
** ret
*/
/*
**copy_7:
** ...
-** lw\t[at][0-9],0\([at][0-9]\)
+** (lwu|lw)\t[at][0-9],0\([at][0-9]\)
** sw\t[at][0-9],0\([at][0-9]\)
-** lw\t[at][0-9],3\([at][0-9]\)
+** (lwu|lw)\t[at][0-9],3\([at][0-9]\)
** sw\t[at][0-9],3\([at][0-9]\)
** ...
*/
/*
**copy_aligned_7:
** ...
-** lw\t[at][0-9],0\([at][0-9]\)
+** (lwu|lw)\t[at][0-9],0\([at][0-9]\)
** sw\t[at][0-9],0\([at][0-9]\)
-** lw\t[at][0-9],3\([at][0-9]\)
+** (lwu|lw)\t[at][0-9],3\([at][0-9]\)
** sw\t[at][0-9],3\([at][0-9]\)
** ...
*/
** ...
** ld\t[at][0-9],0\([at][0-9]\)
** sd\t[at][0-9],0\([at][0-9]\)
-** lw\t[at][0-9],7\([at][0-9]\)
+** (lwu|lw)\t[at][0-9],7\([at][0-9]\)
** sw\t[at][0-9],7\([at][0-9]\)
** ...
*/
** ...
** ld\t[at][0-9],0\([at][0-9]\)
** sd\t[at][0-9],0\([at][0-9]\)
-** lw\t[at][0-9],7\([at][0-9]\)
+** (lwu|lw)\t[at][0-9],7\([at][0-9]\)
** sw\t[at][0-9],7\([at][0-9]\)
** ...
*/
** ...
** sd\t[at][0-9],16\([at][0-9]\)
** ...
-** lw\t[at][0-9],23\([at][0-9]\)
+** (lwu|lw)\t[at][0-9],23\([at][0-9]\)
** sw\t[at][0-9],23\([at][0-9]\)
** ...
*/
** ...
** sd\t[at][0-9],16\([at][0-9]\)
** ...
-** lw\t[at][0-9],23\([at][0-9]\)
+** (lwu|lw)\t[at][0-9],23\([at][0-9]\)
** sw\t[at][0-9],23\([at][0-9]\)
** ...
*/
/*
**copy_aligned_7:
** ...
-** lw\t[at][0-9],0\([at][0-9]\)
+** (lwu|lw)\t[at][0-9],0\([at][0-9]\)
** sw\t[at][0-9],0\([at][0-9]\)
** ...
** lbu\t[at][0-9],6\([at][0-9]\)
/* { dg-final { scan-assembler-times "ld\t" 17 } } */
/* { dg-final { scan-assembler-times "sd\t" 17 } } */
-/* { dg-final { scan-assembler-times "lw\t" 6 } } */
+/* { dg-final { scan-assembler-times "(lwu|lw)\t" 6 } } */
/* { dg-final { scan-assembler-times "sw\t" 6 } } */
/* { dg-final { scan-assembler-times "lhu\t" 7 } } */
{
return s->b | s->c | s->d;
}
-/* { dg-final { scan-assembler-times {\tlw\ta0,0\(a0\).*?\n\tandi\ta0,a0,\d+.*?\n\tsnez\ta0,a0.*?\n\tret} 2 } } */
+/* { dg-final { scan-assembler-times {\tlw\ta0,0\(a0\).*?\n\tandi\ta0,a0,\d+.*?\n\tsnez\ta0,a0.*?\n\tret} 2 { target rv32 } } } */
+/* { dg-final { scan-assembler-times {\tlwu\ta0,0\(a0\).*?\n\tandi\ta0,a0,\d+.*?\n\tsnez\ta0,a0.*?\n\tret} 2 { target rv64 } } } */
/* { dg-final { scan-assembler-not {\tor} } } */
/* { dg-final { scan-assembler-not {\tbexti} } } */