File tree 4 files changed +7
-0
lines changed
4 files changed +7
-0
lines changed Original file line number Diff line number Diff line change @@ -91,6 +91,7 @@ features! {
91
91
/// * `"cmpxchg16b"`
92
92
/// * `"adx"`
93
93
/// * `"rtm"`
94
+ /// * `"movbe"`
94
95
///
95
96
/// [docs]: https://software.intel.com/sites/landingpage/IntrinsicsGuide
96
97
#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
@@ -197,4 +198,6 @@ features! {
197
198
/// ADX, Intel ADX (Multi-Precision Add-Carry Instruction Extensions)
198
199
@FEATURE : #[ stable( feature = "simd_x86" , since = "1.27.0" ) ] rtm: "rtm" ;
199
200
/// RTM, Intel (Restricted Transactional Memory)
201
+ @FEATURE : #[ stable( feature = "movbe_target_feature" , since = "1.67.0" ) ] movbe: "movbe" ;
202
+ /// MOVBE (Move Data After Swapping Bytes)
200
203
}
Original file line number Diff line number Diff line change @@ -111,6 +111,7 @@ pub(crate) fn detect_features() -> cache::Initializer {
111
111
enable ( proc_info_ecx, 13 , Feature :: cmpxchg16b) ;
112
112
enable ( proc_info_ecx, 19 , Feature :: sse4_1) ;
113
113
enable ( proc_info_ecx, 20 , Feature :: sse4_2) ;
114
+ enable ( proc_info_ecx, 22 , Feature :: movbe) ;
114
115
enable ( proc_info_ecx, 23 , Feature :: popcnt) ;
115
116
enable ( proc_info_ecx, 25 , Feature :: aes) ;
116
117
enable ( proc_info_ecx, 29 , Feature :: f16c) ;
Original file line number Diff line number Diff line change @@ -152,6 +152,7 @@ fn x86_all() {
152
152
println ! ( "abm: {:?}" , is_x86_feature_detected!( "abm" ) ) ;
153
153
println ! ( "lzcnt: {:?}" , is_x86_feature_detected!( "lzcnt" ) ) ;
154
154
println ! ( "tbm: {:?}" , is_x86_feature_detected!( "tbm" ) ) ;
155
+ println ! ( "movbe: {:?}" , is_x86_feature_detected!( "movbe" ) ) ;
155
156
println ! ( "popcnt: {:?}" , is_x86_feature_detected!( "popcnt" ) ) ;
156
157
println ! ( "fxsr: {:?}" , is_x86_feature_detected!( "fxsr" ) ) ;
157
158
println ! ( "xsave: {:?}" , is_x86_feature_detected!( "xsave" ) ) ;
Original file line number Diff line number Diff line change @@ -64,6 +64,7 @@ fn dump() {
64
64
println ! ( "cmpxchg16b: {:?}" , is_x86_feature_detected!( "cmpxchg16b" ) ) ;
65
65
println ! ( "adx: {:?}" , is_x86_feature_detected!( "adx" ) ) ;
66
66
println ! ( "rtm: {:?}" , is_x86_feature_detected!( "rtm" ) ) ;
67
+ println ! ( "movbe: {:?}" , is_x86_feature_detected!( "movbe" ) ) ;
67
68
}
68
69
69
70
#[ cfg( feature = "std_detect_env_override" ) ]
@@ -152,4 +153,5 @@ fn compare_with_cupid() {
152
153
) ;
153
154
assert_eq ! ( is_x86_feature_detected!( "adx" ) , information. adx( ) , ) ;
154
155
assert_eq ! ( is_x86_feature_detected!( "rtm" ) , information. rtm( ) , ) ;
156
+ assert_eq ! ( is_x86_feature_detected!( "movbe" ) , information. movbe( ) , ) ;
155
157
}
You can’t perform that action at this time.
0 commit comments