vTaskDelay() vs R_BSP_SoftwareDelay()

I'm working on a project that uses Renesas RA6M5 MCU. The FreeRTOS is 10.4.3.
I'm trying to figure out the difference between vTaskDelay() vs R_BSP_SoftwareDelay(). The vTaskDelay() is a function from FreeRTOS. Do these two functions do the same thing? I need to delay a period of time in one task. But I prefer to give the CPU time to other tasks during the delay. Which one will do what I need?

Namely, which one should I use?
vTaskDelay(pdMS_TO_TICKS(1000));

Or
R_BSP_SoftwareDelay(1000, BSP_DELAY_UNITS_MILLISECONDS);

Thanks!