1 #pragma once
2 
3 #include "Test.h"
4 #include "MemoryFunction.h"
5 
6 class CConditionTest : public CTest
7 {
8 public:
9 						CConditionTest(bool, uint32, uint32);
10 
11 	void				Run() override;
12 	void				Compile(Jitter::CJitter&) override;
13 
14 private:
15 
16 	void MakeBeginIfCase(Jitter::CJitter& jitter, Jitter::CONDITION, size_t result);
17 
18 	struct CONTEXT
19 	{
20 		uint32			value0;
21 		uint32			value1;
22 
23 		uint32			resultEq;
24 		uint32			resultNe;
25 		uint32			resultBl;
26 		uint32			resultBe;
27 		uint32			resultAe;
28 		uint32			resultLt;
29 		uint32			resultLe;
30 		uint32			resultAb;
31 		uint32			resultGt;
32 		uint32			resultGe;
33 	};
34 
35 	bool				m_useConstant = false;
36 	uint32				m_value0 = 0;
37 	uint32				m_value1 = 0;
38 	CONTEXT				m_context;
39 	CMemoryFunction		m_function;
40 };
41