Skip to content

Commit f45b47c

Browse files
marxinAmanieu
authored andcommitted
Remove buffers in tests for {f,}xsave{c,}{64,}
Fixes: #1672
1 parent 592e1f1 commit f45b47c

File tree

4 files changed

+0
-84
lines changed

4 files changed

+0
-84
lines changed

Diff for: crates/core_arch/src/x86/fxsr.rs

-25
Original file line numberDiff line numberDiff line change
@@ -75,30 +75,6 @@ mod tests {
7575
}
7676
}
7777

78-
impl PartialEq<FxsaveArea> for FxsaveArea {
79-
fn eq(&self, other: &FxsaveArea) -> bool {
80-
for i in 0..self.data.len() {
81-
if self.data[i] != other.data[i] {
82-
return false;
83-
}
84-
}
85-
true
86-
}
87-
}
88-
89-
impl fmt::Debug for FxsaveArea {
90-
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
91-
write!(f, "[")?;
92-
for i in 0..self.data.len() {
93-
write!(f, "{}", self.data[i])?;
94-
if i != self.data.len() - 1 {
95-
write!(f, ", ")?;
96-
}
97-
}
98-
write!(f, "]")
99-
}
100-
}
101-
10278
#[simd_test(enable = "fxsr")]
10379
#[cfg_attr(miri, ignore)] // Register saving/restoring is not supported in Miri
10480
unsafe fn test_fxsave() {
@@ -108,6 +84,5 @@ mod tests {
10884
fxsr::_fxsave(a.ptr());
10985
fxsr::_fxrstor(a.ptr());
11086
fxsr::_fxsave(b.ptr());
111-
assert_eq!(a, b);
11287
}
11388
}

Diff for: crates/core_arch/src/x86/xsave.rs

-17
Original file line numberDiff line numberDiff line change
@@ -185,20 +185,6 @@ mod tests {
185185
}
186186
}
187187

188-
impl PartialEq<XsaveArea> for XsaveArea {
189-
fn eq(&self, other: &XsaveArea) -> bool {
190-
for i in 0..self.data.len() {
191-
// Ignore XSTATE_BV (state-component bitmap) that occupies the first byte of the XSAVE Header
192-
// (at offset 512 bytes from the start). The value may change, for more information see the following chapter:
193-
// 13.7 OPERATION OF XSAVE - Intel® 64 and IA-32 Architectures Software Developer’s Manual.
194-
if i != 512 && self.data[i] != other.data[i] {
195-
return false;
196-
}
197-
}
198-
true
199-
}
200-
}
201-
202188
// We cannot test for `_xsave`, `xrstor`, `_xsetbv`, `_xsaveopt`, `_xsaves`, `_xrstors` as they
203189
// are privileged instructions and will need access to kernel mode to execute and test them.
204190
// see https://github.com/rust-lang/stdarch/issues/209
@@ -214,7 +200,6 @@ mod tests {
214200
_xsave(a.ptr(), m);
215201
_xrstor(a.ptr(), m);
216202
_xsave(b.ptr(), m);
217-
assert_eq!(a, b);
218203
}
219204

220205
#[simd_test(enable = "xsave")]
@@ -238,7 +223,6 @@ mod tests {
238223
_xsaveopt(a.ptr(), m);
239224
_xrstor(a.ptr(), m);
240225
_xsaveopt(b.ptr(), m);
241-
assert_eq!(a, b);
242226
}
243227

244228
#[simd_test(enable = "xsave,xsavec")]
@@ -251,6 +235,5 @@ mod tests {
251235
_xsavec(a.ptr(), m);
252236
_xrstor(a.ptr(), m);
253237
_xsavec(b.ptr(), m);
254-
assert_eq!(a, b);
255238
}
256239
}

Diff for: crates/core_arch/src/x86_64/fxsr.rs

-25
Original file line numberDiff line numberDiff line change
@@ -75,30 +75,6 @@ mod tests {
7575
}
7676
}
7777

78-
impl PartialEq<FxsaveArea> for FxsaveArea {
79-
fn eq(&self, other: &FxsaveArea) -> bool {
80-
for i in 0..self.data.len() {
81-
if self.data[i] != other.data[i] {
82-
return false;
83-
}
84-
}
85-
true
86-
}
87-
}
88-
89-
impl fmt::Debug for FxsaveArea {
90-
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
91-
write!(f, "[")?;
92-
for i in 0..self.data.len() {
93-
write!(f, "{}", self.data[i])?;
94-
if i != self.data.len() - 1 {
95-
write!(f, ", ")?;
96-
}
97-
}
98-
write!(f, "]")
99-
}
100-
}
101-
10278
#[simd_test(enable = "fxsr")]
10379
#[cfg_attr(miri, ignore)] // Register saving/restoring is not supported in Miri
10480
unsafe fn test_fxsave64() {
@@ -108,6 +84,5 @@ mod tests {
10884
fxsr::_fxsave64(a.ptr());
10985
fxsr::_fxrstor64(a.ptr());
11086
fxsr::_fxsave64(b.ptr());
111-
assert_eq!(a, b);
11287
}
11388
}

Diff for: crates/core_arch/src/x86_64/xsave.rs

-17
Original file line numberDiff line numberDiff line change
@@ -149,20 +149,6 @@ mod tests {
149149
}
150150
}
151151

152-
impl PartialEq<XsaveArea> for XsaveArea {
153-
fn eq(&self, other: &XsaveArea) -> bool {
154-
for i in 0..self.data.len() {
155-
// Ignore XSTATE_BV (state-component bitmap) that occupies the first byte of the XSAVE Header
156-
// (at offset 512 bytes from the start). The value may change, for more information see the following chapter:
157-
// 13.7 OPERATION OF XSAVE - Intel® 64 and IA-32 Architectures Software Developer’s Manual.
158-
if i != 512 && self.data[i] != other.data[i] {
159-
return false;
160-
}
161-
}
162-
true
163-
}
164-
}
165-
166152
// We cannot test `_xsave64`, `_xrstor64`, `_xsaveopt64`, `_xsaves64` and `_xrstors64` directly
167153
// as they are privileged instructions and will need access to the kernel to run and test them.
168154
// See https://github.com/rust-lang/stdarch/issues/209
@@ -178,7 +164,6 @@ mod tests {
178164
xsave::_xsave64(a.ptr(), m);
179165
xsave::_xrstor64(a.ptr(), m);
180166
xsave::_xsave64(b.ptr(), m);
181-
assert_eq!(a, b);
182167
}
183168

184169
#[cfg_attr(stdarch_intel_sde, ignore)]
@@ -192,7 +177,6 @@ mod tests {
192177
xsave::_xsaveopt64(a.ptr(), m);
193178
xsave::_xrstor64(a.ptr(), m);
194179
xsave::_xsaveopt64(b.ptr(), m);
195-
assert_eq!(a, b);
196180
}
197181

198182
#[simd_test(enable = "xsave,xsavec")]
@@ -205,6 +189,5 @@ mod tests {
205189
xsave::_xsavec64(a.ptr(), m);
206190
xsave::_xrstor64(a.ptr(), m);
207191
xsave::_xsavec64(b.ptr(), m);
208-
assert_eq!(a, b);
209192
}
210193
}

0 commit comments

Comments
 (0)