mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-03 16:39:01 -06:00 
			
		
		
		
	x64: Add detection of monitorx instructions
monitorx introduces 2 instructions: MONITORX and MWAITX.
This commit is contained in:
		@@ -93,6 +93,7 @@ void AppendCPUInfo(FieldCollection& fc) {
 | 
			
		||||
    add_field("CPU_Extension_x64_GFNI", caps.gfni);
 | 
			
		||||
    add_field("CPU_Extension_x64_INVARIANT_TSC", caps.invariant_tsc);
 | 
			
		||||
    add_field("CPU_Extension_x64_LZCNT", caps.lzcnt);
 | 
			
		||||
    add_field("CPU_Extension_x64_MONITORX", caps.monitorx);
 | 
			
		||||
    add_field("CPU_Extension_x64_MOVBE", caps.movbe);
 | 
			
		||||
    add_field("CPU_Extension_x64_PCLMULQDQ", caps.pclmulqdq);
 | 
			
		||||
    add_field("CPU_Extension_x64_POPCNT", caps.popcnt);
 | 
			
		||||
 
 | 
			
		||||
@@ -168,6 +168,7 @@ static CPUCaps Detect() {
 | 
			
		||||
        __cpuid(cpu_id, 0x80000001);
 | 
			
		||||
        caps.lzcnt = Common::Bit<5>(cpu_id[2]);
 | 
			
		||||
        caps.fma4 = Common::Bit<16>(cpu_id[2]);
 | 
			
		||||
        caps.monitorx = Common::Bit<29>(cpu_id[2]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (max_ex_fn >= 0x80000007) {
 | 
			
		||||
 
 | 
			
		||||
@@ -63,6 +63,7 @@ struct CPUCaps {
 | 
			
		||||
    bool gfni : 1;
 | 
			
		||||
    bool invariant_tsc : 1;
 | 
			
		||||
    bool lzcnt : 1;
 | 
			
		||||
    bool monitorx : 1;
 | 
			
		||||
    bool movbe : 1;
 | 
			
		||||
    bool pclmulqdq : 1;
 | 
			
		||||
    bool popcnt : 1;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user