Skip to content

Commit f950c12

Browse files
committed
[Experiment] Try making assert_instr much stricter
1 parent a514252 commit f950c12

File tree

3 files changed

+3
-2
lines changed

3 files changed

+3
-2
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ jobs:
5454
name: Test
5555
runs-on: ${{ matrix.target.os }}
5656
strategy:
57+
fail-fast: false
5758
matrix:
5859
profile:
5960
- dev

crates/stdarch-test/src/disassembly.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ fn parse(output: &str) -> HashSet<Function> {
150150
instruction
151151
.split_whitespace()
152152
.skip(1)
153-
.skip_while(|s| *s == "lock" || *s == "{evex}") // skip x86-specific prefix
153+
.skip_while(|s| *s == "lock" || *s == "{evex}" || *s == "{vex}") // skip x86-specific prefix
154154
.map(std::string::ToString::to_string)
155155
.collect::<Vec<String>>()
156156
};

crates/stdarch-test/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ pub fn assert(shim_addr: usize, fnname: &str, expected: &str) {
8484
// 2. It is a mark, indicating that the instruction will be
8585
// compiled into other instructions - mainly because of llvm
8686
// optimization.
87-
let found = expected == "nop" || instrs.iter().any(|s| s.contains(expected));
87+
let found = expected == "nop" || instrs.iter().any(|s| s == expected);
8888

8989
// Look for subroutine call instructions in the disassembly to detect whether
9090
// inlining failed: all intrinsics are `#[inline(always)]`, so calling one

0 commit comments

Comments
 (0)