Why does REG_WRITE clear the second bit?

ESP_LOGW(“-0-”, “%lu”, REG_READ(GPIO_ENABLE_REG) );
REG_WRITE(GPIO_ENABLE_REG, GPIO_ENABLE_REG ) ;
ESP_LOGW(“-1-”, “%lu”, REG_READ(GPIO_ENABLE_REG) );

result
W (305) -0-: 1610629156
W (315) -1-: 1610629152

damn, my bad, I’m not doing a read…
REG_WRITE(GPIO_ENABLE_REG, REG_READ (GPIO_ENABLE_REG) | p )