It's all semantics. AMD got kind of "creative" when they threw together the bulldozer microarchitecture. These things are kind of a weird hybrid crapshoot, but essentially you have 1 "module" that is addressed as 2 threads. This "module" has 2 cores for the purpose of integer calculations, so if both threads are doing ints each thread has a dedicated core to do so with. However, each module only has a single floating point unit, causing it perform like a single core, 2 thread SMT processor when both threads are running floats.
Some say 1 module = 1 core since these modules aren't true dual core items due to the shared FPU. Others will say 1 module = 2 cores since each module has 2 integer cores. Technically speaking, neither is...